Auto-refuel on dispatch; remove manual refueling UI/API/action (ISS-082, v0.42.0)
CI / build + unit + e2e (pull_request) Successful in 17m25s
CI / build + unit + e2e (pull_request) Successful in 17m25s
This commit is contained in:
+13
-7
@@ -15,7 +15,7 @@ const HUB = 'EDDF'; // Frankfurt Main — the seeded starter plane's home base (
|
||||
const POPUP_AIRPORT = { icao: 'LFRS', lon: -1.61073, lat: 47.153198 };
|
||||
|
||||
interface StateBody {
|
||||
planes: Array<{ id: string; status: string; locationIcao: string; destIcao: string | null }>;
|
||||
planes: Array<{ id: string; status: string; maxFuel: number; locationIcao: string; destIcao: string | null }>;
|
||||
}
|
||||
|
||||
async function getState(page: Page): Promise<StateBody> {
|
||||
@@ -24,6 +24,14 @@ async function getState(page: Page): Promise<StateBody> {
|
||||
return (await res.json()) as StateBody;
|
||||
}
|
||||
|
||||
// Test hook (FLIGHT_TEST_HOOKS=1): top the starter's tank back to full — replaces the removed /refuel
|
||||
// endpoint (ISS-082). Reads maxFuel from the snapshot so no catalog mirror is needed.
|
||||
async function setFuelFull(page: Page, planeId: string): Promise<void> {
|
||||
const s = await getState(page);
|
||||
const p = s.planes.find((x) => x.id === planeId)!;
|
||||
expect((await page.request.post('/api/test/set-fuel', { data: { planeId, fuel: p.maxFuel } })).status()).toBe(200);
|
||||
}
|
||||
|
||||
async function postSim(page: Page, body: Record<string, unknown>): Promise<void> {
|
||||
const res = await page.request.post('/api/sim', { data: body });
|
||||
expect(res.ok()).toBeTruthy();
|
||||
@@ -96,10 +104,8 @@ test('left pane Relocate section relocates a grounded plane', async ({ page }) =
|
||||
test.setTimeout(300_000); // self-heal (worst case ~20 s at 1000×) + one short leg
|
||||
await flyHomeViaApi(page);
|
||||
|
||||
// Full tank before departure — a partially drained plane left by an earlier spec could not
|
||||
// afford the cleanup round trip.
|
||||
const refuel = await page.request.post('/api/planes/plane-starter/refuel');
|
||||
expect(refuel.ok()).toBeTruthy();
|
||||
// Full tank before departure — deterministic baseline (ISS-082 hook; dispatch would auto-refuel anyway).
|
||||
await setFuelFull(page, 'plane-starter');
|
||||
|
||||
const nearest = await nearestToHub(page);
|
||||
|
||||
@@ -130,8 +136,8 @@ test('airport popup offers Relocate options for grounded planes', async ({ page
|
||||
test.setTimeout(300_000); // self-heal (worst case ~20 s at 1000×) + one leg to LFRS
|
||||
await flyHomeViaApi(page);
|
||||
|
||||
const refuel = await page.request.post('/api/planes/plane-starter/refuel');
|
||||
expect(refuel.ok()).toBeTruthy();
|
||||
// Full tank before departure — deterministic baseline (ISS-082 hook; dispatch would auto-refuel anyway).
|
||||
await setFuelFull(page, 'plane-starter');
|
||||
|
||||
await page.goto('/');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user