From 75c19bcce44fe3f0657d84b45dbc1c89f29332b4 Mon Sep 17 00:00:00 2001 From: Jeppe Bundgaard Date: Thu, 4 Jun 2026 08:31:51 +0200 Subject: [PATCH] Fix MyWash active summary refresh import --- ...artmentSelfserveVehicleConditionsRoute.php | 1 + .../Api/SelfserveCustomerStartApiTest.php | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/services/nginx/app/routes/departmentSelfserveVehicleConditionsRoute.php b/services/nginx/app/routes/departmentSelfserveVehicleConditionsRoute.php index bf4fe90b..883d1a32 100644 --- a/services/nginx/app/routes/departmentSelfserveVehicleConditionsRoute.php +++ b/services/nginx/app/routes/departmentSelfserveVehicleConditionsRoute.php @@ -15,6 +15,7 @@ use objects\department_selfserve_tasks_o; use objects\department_selfserve_vehicle_conditions_o; use objects\departments_o; use objects\logs_o; +use objects\selfserve_wash_sessions_o; use traits\route_t; class departmentSelfserveVehicleConditionsRoute diff --git a/services/nginx/app/tests/Api/SelfserveCustomerStartApiTest.php b/services/nginx/app/tests/Api/SelfserveCustomerStartApiTest.php index 5445d019..fdb06877 100644 --- a/services/nginx/app/tests/Api/SelfserveCustomerStartApiTest.php +++ b/services/nginx/app/tests/Api/SelfserveCustomerStartApiTest.php @@ -428,6 +428,40 @@ it('creates a durable wash session from customer start after read-only eligibili selfserve_customer_start_make_available($laneId); }); +it('refreshes an active wash summary with vehicle type without a namespace error', function (): void { + $group = api_fixtures()->createGroup([], [ + 'list_own_department_selfserve_vehicle_conditions', + ]); + $scenario = api_fixtures()->createSelfServeScenario([ + 'customer' => ['group_id' => $group['id']], + 'department_selfserve_enabled' => true, + 'lane_selfserve_enabled' => true, + 'session' => [ + 'status' => 'MACHINE_RELAY_ENABLED', + 'machine_relay_enabled' => 1, + 'machine_relay_enabled_at' => date('Y-m-d H:i:s'), + 'completed_at' => null, + ], + ]); + $headers = api_fixtures()->bearerHeaders( + api_fixtures()->createAuthToken((int)$scenario['customer']['id']) + ); + $sessionId = (int)$scenario['session']['id']; + $productId = (int)$scenario['product']['id']; + + $summaryResponse = api_client() + ->get( + '/department/selfserve/washes/summary?session_id=' . $sessionId + . '&vehicle_type=' . $productId, + $headers + ) + ->assertStatus(200) + ->assertSuccess(true); + + expect($summaryResponse->data()['session']['id'] ?? null)->toBe($sessionId) + ->and($summaryResponse->data()['session']['status'] ?? null)->toBe('MACHINE_RELAY_ENABLED'); +}); + it('does not create a replacement session when refreshing a completed summary with vehicle type', function (): void { $group = api_fixtures()->createGroup([], [ 'list_own_department_selfserve_vehicle_conditions',