feat: v0.10.0 — right Jobs & Market pane (contracts accept/dispatch, market buy/sell/refuel with live previews); catalog + economy constants exposed in /api/state; shared applySnapshot for instant action feedback

This commit is contained in:
2026-09-17 19:18:42 +00:00
parent 03653fc50e
commit cf811dcf4d
15 changed files with 894 additions and 14 deletions
+10 -1
View File
@@ -39,7 +39,16 @@ describe('POST /api/contracts/:id/accept', () => {
planes: Array<Record<string, unknown>>;
contracts: Array<{ id: string; status: string }>;
};
expect(Object.keys(body).sort()).toEqual(['account', 'contracts', 'planes', 'simState']);
// v0.10.0: the snapshot also carries the static market reference data.
expect(Object.keys(body).sort()).toEqual([
'account',
'catalog',
'contracts',
'fuelPricePerL',
'planes',
'sellFraction',
'simState',
]);
expect(body.contracts.find((c) => c.id === open.id)?.status).toBe('accepted');
// Persisted, not just in the response.