Activate self-serve opening relays
Activate self-serve opening relays
This commit is contained in:
+6
-2
@@ -7,11 +7,15 @@ it('syncs lane relay states when department self-serve enabled flag changes', fu
|
||||
expect($routeContent)->toContain('/departments/self-serve/enabled');
|
||||
expect($routeContent)->toContain('$this->syncDepartmentSelfServeRelayStates((int)$department->id, $enabled);');
|
||||
expect($routeContent)->toContain('if (!$enabled) {');
|
||||
expect($routeContent)->toContain('// Self-serve disabled: do not mutate lane relay states.');
|
||||
expect($routeContent)->toContain('// Self-serve disabled: restore normal/manual relay operation.');
|
||||
expect($routeContent)->toContain('setMachineProgramPickerRelayStatusHard(true)');
|
||||
expect($routeContent)->toContain('setMachineRelayStatusHard(true)');
|
||||
expect($routeContent)->toContain('!$department_lane->isSelfServeEnabled()');
|
||||
expect($routeContent)->toContain('setMachineProgramPickerRelayStatus(false)');
|
||||
expect($routeContent)->toContain('setMachineCleanerRelayStatus(false)');
|
||||
expect($routeContent)->toContain('setMachineCleanerRelayStatusHard(true)');
|
||||
expect($routeContent)->toContain('setMachineRelayStatus(false)');
|
||||
expect($routeContent)->not->toContain('setMachineProgramPickerRelayStatusHard(false)');
|
||||
expect($routeContent)->not->toContain('setMachineCleanerRelayStatusHard(false)');
|
||||
expect($routeContent)->not->toContain('setMachineRelayStatusHard(false)');
|
||||
expect($routeContent)->not->toContain('setMachineCleanerRelayStatus(false)');
|
||||
});
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
it('registers an opening-time self-serve cleaner relay activation cron', function (): void {
|
||||
$tasks = require app_path('modules/selfserve/cron/tasks.php');
|
||||
|
||||
expect($tasks)->toHaveCount(1);
|
||||
expect($tasks[0]['id'])->toBe('selfserve.activate_opening_cleaner_relays');
|
||||
expect($tasks[0]['legacy_name'])->toBe('SelfserveOpeningRelayActivationCron');
|
||||
expect($tasks[0]['handler'])->toBe('SelfserveOpeningRelayActivationCron');
|
||||
expect($tasks[0]['schedule'])->toBe(['type' => 'interval', 'seconds' => 60]);
|
||||
});
|
||||
|
||||
it('activates only configured cleaner relays after department opening time', function (): void {
|
||||
$cronContent = file_get_contents(app_path('cron/Cron.php'));
|
||||
|
||||
expect($cronContent)->not->toBeFalse();
|
||||
expect($cronContent)->toContain('function SelfserveOpeningRelayActivationCron(): array');
|
||||
expect($cronContent)->toContain("new DateTimeZone('Europe/Copenhagen')");
|
||||
expect($cronContent)->toContain('department_time_bookings_opening_hours');
|
||||
expect($cronContent)->toContain("dv.variable = 'selfserve_enabled'");
|
||||
expect($cronContent)->toContain('dl.selfserve_enabled');
|
||||
expect($cronContent)->toContain('relay_machine_cleaner_id');
|
||||
expect($cronContent)->toContain('$nowSeconds >= $opensAtSeconds && $nowSeconds < $closesAtSeconds');
|
||||
expect($cronContent)->toContain('setMachineCleanerRelayStatusHard(true)');
|
||||
expect($cronContent)->toContain('selfserve:opening-cleaner-relays:');
|
||||
expect($cronContent)->not->toContain('setMachineRelayStatusHard(true)');
|
||||
expect($cronContent)->not->toContain('setMachineProgramPickerRelayStatusHard(true)');
|
||||
});
|
||||
Reference in New Issue
Block a user