fix: správné mapování stavu waiting_delivery ve stepperu Bolt
CI / Generate TypeScript types (push) Successful in 12s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 28s
CI / Build client (push) Successful in 1m10s
CI / Playwright E2E tests (push) Successful in 1m22s
CI / Build and push Docker image (push) Successful in 42s
CI / Notify (push) Successful in 1s
CI / Generate TypeScript types (push) Successful in 12s
CI / Server unit tests (push) Successful in 20s
CI / Build server (push) Successful in 28s
CI / Build client (push) Successful in 1m10s
CI / Playwright E2E tests (push) Successful in 1m22s
CI / Build and push Docker image (push) Successful in 42s
CI / Notify (push) Successful in 1s
Stav waiting_delivery znamená "jídlo čeká v podniku na vyzvednutí", heuristika ho ale kvůli slovu "delivery" mapovala na krok "Na cestě". - waiting_delivery (a obecně waiting_*) se nyní mapuje na "Příprava" - server nově ukládá i stav kurýra (boltCourierState z courier.state); krok "Na cestě" se aktivuje až když kurýr objednávku skutečně veze (picked_up, heading_to_client, ...), kurýr u podniku zůstává v "Příprava" - tooltip stepperu zobrazuje oba raw stavy pro snadnější diagnostiku - regresní test s reálnou odpovědí Bolt API Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -197,6 +197,30 @@ describe('checkBoltTracking', () => {
|
||||
expect(group.boltOrderState).toBe('delivered');
|
||||
});
|
||||
|
||||
test('ukládá stav kurýra (reálná odpověď s waiting_delivery)', async () => {
|
||||
mockedAxios.post.mockResolvedValue(boltResponse({
|
||||
order_id: 312222357,
|
||||
order_state: 'waiting_delivery',
|
||||
expected_time_to_client_in_seconds: 911,
|
||||
provider: { provider_id: 82859, state: 'waiting_pickup' },
|
||||
courier: { courier_id: 1958424, state: 'arrived_to_provider', lat: 49.7, lng: 13.3 },
|
||||
}));
|
||||
await checkBoltTracking();
|
||||
let group = await getGroup();
|
||||
expect(group.boltOrderState).toBe('waiting_delivery');
|
||||
expect(group.boltCourierState).toBe('arrived_to_provider');
|
||||
|
||||
// Kurýr vyzvedl — změní se jen courier state
|
||||
mockedAxios.post.mockResolvedValue(boltResponse({
|
||||
order_state: 'waiting_delivery',
|
||||
expected_time_to_client_in_seconds: 911,
|
||||
courier: { state: 'picked_up' },
|
||||
}));
|
||||
await checkBoltTracking();
|
||||
group = await getGroup();
|
||||
expect(group.boltCourierState).toBe('picked_up');
|
||||
});
|
||||
|
||||
test('aktualizuje boltOrderState při změně stavu beze změny času', async () => {
|
||||
mockedAxios.post.mockResolvedValue(boltResponse({ order_state: 'waiting_preparation', expected_time_to_client_in_seconds: 1800 }));
|
||||
await checkBoltTracking();
|
||||
|
||||
Reference in New Issue
Block a user