diff --git a/tests/auto/simulation/simulation.cpp b/tests/auto/simulation/simulation.cpp index a16be05..4cb6008 100644 --- a/tests/auto/simulation/simulation.cpp +++ b/tests/auto/simulation/simulation.cpp @@ -12103,6 +12103,12 @@ void Simulation::testOverloadProtectionOnAManualChargerIsLogged() reglages.endGroup(); } s.borne->setStateValue("pluggedIn", true); + // La borne est DÉJÀ dans l'état manuel : le passage en mode manuel n'a rien à restituer, donc + // n'écrit rien. Sinon le code amont écrirait à l'horloge murale et armerait les verrous de la + // borne sur cet instant — un scénario daté en dur se déroulerait « avant » eux, et la + // protection serait refusée à chaque geste. + s.borne->setStateValue("power", true); + s.borne->setStateValue("maxChargingCurrent", 16); const QVariantMap info = injectAndWait("NymeaEnergy.GetChargingInfos").toMap().value("params").toMap() .value("chargingInfos").toList().first().toMap(); QVariantMap manuel = info; @@ -12112,11 +12118,7 @@ void Simulation::testOverloadProtectionOnAManualChargerIsLogged() QString("EnergyErrorNoError")); QCOMPARE(consigneA(s.borne), 16); - // L'HORLOGE MURALE, et elle seule : le passage en mode manuel restitue les valeurs de - // l'usager avec QDateTime::currentDateTime() (code amont), et arme les verrous de la borne sur - // cet instant. Un temps de test antérieur les tiendrait fermés, et la protection serait - // refusée à chaque geste. On part donc au-delà du verrou d'enclenchement (300 s). - QDateTime a = QDateTime::currentDateTime().addSecs(600); + QDateTime a = utcDateTime(QDate(2026, 6, 8), QTime(10, 0)); QVariantMap snap; const auto cycle = [&](double phaseA) { a = a.addSecs(60);