test(ladestation): Regeluebergang abwarten
This commit is contained in:
@@ -209,10 +209,25 @@ return static function (TestContext $test): void {
|
||||
'Sollleistung_W' => $leistung,
|
||||
], JSON_THROW_ON_ERROR));
|
||||
};
|
||||
$warteAufGeraetebefehl = static function (
|
||||
int $stationId,
|
||||
string $urlTeil
|
||||
) use ($test): string {
|
||||
$deadline = microtime(true) + 3.0;
|
||||
do {
|
||||
$befehl = (string) GetValue($test->objectByIdent('LetzterGeraetebefehl', $stationId));
|
||||
if (str_contains($befehl, $urlTeil)) {
|
||||
return $befehl;
|
||||
}
|
||||
IPS_Sleep(50);
|
||||
} while (microtime(true) < $deadline);
|
||||
|
||||
return $befehl;
|
||||
};
|
||||
|
||||
$test->runCase('Alle drei Geraetevarianten erkennen Fahrzeug und Phasen', static function (
|
||||
TestContext $test
|
||||
) use ($definitionen, $stationen): void {
|
||||
) use ($definitionen, $stationen, $warteAufGeraetebefehl): void {
|
||||
foreach ($stationen as $name => $stationId) {
|
||||
IPS_RequestAction($stationId, 'Aktiv', true);
|
||||
$test->assertSame(true, GetValue($test->objectByIdent('FahrzeugVerbunden', $stationId)));
|
||||
@@ -222,7 +237,10 @@ return static function (TestContext $test): void {
|
||||
);
|
||||
$test->assertSame(false, GetValue($test->objectByIdent('FahrzeugGeladen', $stationId)));
|
||||
IPS_RequestAction($stationId, 'Solarladen', false);
|
||||
$befehl = (string) GetValue($test->objectByIdent('LetzterGeraetebefehl', $stationId));
|
||||
$befehl = $warteAufGeraetebefehl(
|
||||
$stationId,
|
||||
$definitionen[$name]['BefehlUrlTeil']
|
||||
);
|
||||
$diagnose = json_encode([
|
||||
'Aktiv' => GetValue($test->objectByIdent('Aktiv', $stationId)),
|
||||
'Ladefreigabe' => GetValue($test->objectByIdent('Ladefreigabe', $stationId)),
|
||||
|
||||
Reference in New Issue
Block a user