Test : le bloc storage se lit aussi par GetLoadTelemetry (lot e1)
La journée de la démo relit la télémétrie par la frontière RPC pendant le blocage : le bloc passe la validation du schéma déclaré (o:storage), et le Get rend ce qui a été publié. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4ffa8391cf
commit
3cbcdeeca3
@ -10860,6 +10860,14 @@ void Simulation::testOffPeakDemoDay()
|
||||
QCOMPARE(bat.value("observed").toMap().value("enableDischarging").toBool(), true);
|
||||
QCOMPARE(bat.value("observed").toMap().value("dischargingRate").toDouble(), 0.0);
|
||||
QCOMPARE(s.ecrites->size(), 2); // rien de réécrit une minute après la pose
|
||||
// PAR LA FRONTIÈRE RPC, pas par l'accesseur : le bloc passe la validation du schéma déclaré
|
||||
// (`o:storage`), et le Get rend ce qui a été publié.
|
||||
const QVariantMap rpc = injectAndWait("NymeaEnergy.GetLoadTelemetry").toMap().value("params").toMap();
|
||||
QCOMPARE(rpc.value("storage").toMap().value("dischargeBlocked").toBool(), true);
|
||||
QCOMPARE(rpc.value("storage").toMap().value("decision").toMap().value("code").toString(),
|
||||
QString(DecisionCode::StorageDischargeBlocked));
|
||||
QCOMPARE(rpc.value("storage").toMap().value("batteries").toList().value(0).toMap()
|
||||
.value("thingId").toUuid(), s.batterie->id());
|
||||
const QString texteBat = renderFr(DecisionReason(DecisionCode::StorageDischargeBlocked,
|
||||
stockage(snap).value("decision").toMap().value("params").toMap()));
|
||||
QVERIFY2(texteBat.startsWith(QStringLiteral("Décharge de la batterie bloquée : la voiture charge en heures creuses")),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user