Add Bird gate call flow unit tests, self-serve machine wash minutes config, relay sync improvements, and OpenAPI updates. Refactor Bird call handling with terminal status detection and timeout normalization.

This commit is contained in:
Jeppe Bundgaard
2026-03-26 13:16:18 +01:00
parent a4654398d0
commit 95063d2a70
20 changed files with 731 additions and 77 deletions
@@ -133,6 +133,18 @@ it('wraps low-level gate errors for property access command failures', function
expect(function () use ($lane): void {
$lane->execute(selfserve_lane_command::OPEN_PROPERTY_ACCESS_GATE, new selfserve_lane_command_arguments());
})->toThrow(\RuntimeException::class, 'Failed to open property access gate: simulated gateway timeout');
})->toThrow(\RuntimeException::class, 'Failed to open property access gate.');
});
it('wraps low-level gate errors for property exit command failures', function (): void {
$lane = new SelfserveLanePropertyGateHarness();
$lane->exitGate = new SelfserveLanePropertyGateFake(
existsFlag: true,
throwOnOpen: true,
throwMessage: 'simulated provider error',
);
expect(function () use ($lane): void {
$lane->execute(selfserve_lane_command::OPEN_PROPERTY_EXIT_GATE, new selfserve_lane_command_arguments());
})->toThrow(\RuntimeException::class, 'Failed to open property exit gate.');
});