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