This commit is contained in:
@@ -444,4 +444,46 @@ return static function (TestContext $test): void {
|
||||
$test->objectByIdent('Sammelstoerung', $managerId)
|
||||
));
|
||||
});
|
||||
|
||||
$test->runCase('Veralteter Verbraucher blockiert aktuelle Verbraucher nicht', static function (
|
||||
TestContext $test
|
||||
) use (
|
||||
$managerId,
|
||||
$netzleistungId,
|
||||
$einStufigId,
|
||||
$warmwasserId,
|
||||
$pufferspeicherId,
|
||||
$melden,
|
||||
$verbraucherstatus
|
||||
): void {
|
||||
IPS_SetProperty($managerId, 'VerbraucherTimeout', 1);
|
||||
IPS_ApplyChanges($managerId);
|
||||
SetValue($netzleistungId, -2400.0);
|
||||
$melden();
|
||||
IPS_RequestAction($managerId, 'Regeln', true);
|
||||
$test->waitUntil(
|
||||
static fn (): bool => ($verbraucherstatus()['Synchronisiert'] ?? false) === true
|
||||
);
|
||||
|
||||
IPS_Sleep(1100);
|
||||
IPS_RequestAction($warmwasserId, 'Melden', true);
|
||||
IPS_RequestAction($pufferspeicherId, 'Melden', true);
|
||||
IPS_RequestAction($managerId, 'Regeln', true);
|
||||
|
||||
$daten = $verbraucherstatus();
|
||||
$test->assertSame(false, $daten['Synchronisiert'] ?? null);
|
||||
$test->assertSame(2, count($daten['Verbraucher'] ?? []));
|
||||
$test->assertSame(1, count($daten['NichtGeregelt'] ?? []));
|
||||
$test->assertSame(
|
||||
$einStufigId,
|
||||
$daten['NichtGeregelt'][0]['InstanzID'] ?? null
|
||||
);
|
||||
$test->assertSame(
|
||||
'Meldung ist veraltet',
|
||||
$daten['NichtGeregelt'][0]['Grund'] ?? null
|
||||
);
|
||||
$test->assertTrue(
|
||||
(float) GetValue($test->objectByIdent('Verteilbudget', $managerId)) > 0.0
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user