From 693906c6a89f36e2cc7e3b5a276f3f2f49a17785 Mon Sep 17 00:00:00 2001 From: hided62 Date: Mon, 27 Jul 2026 00:20:46 +0000 Subject: [PATCH] test live sortie nation conflict cleanup --- .../test/liveSortiePersistence.integration.test.ts | 1 + .../turnCommandCoreReference.integration.test.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/tools/integration-tests/test/liveSortiePersistence.integration.test.ts b/tools/integration-tests/test/liveSortiePersistence.integration.test.ts index 4494bd7..cc5e2eb 100644 --- a/tools/integration-tests/test/liveSortiePersistence.integration.test.ts +++ b/tools/integration-tests/test/liveSortiePersistence.integration.test.ts @@ -119,6 +119,7 @@ integration('live sortie PostgreSQL persistence retry', () => { it.each([ ['conquest and nation collapse', 'live-sortie-conquest.json'], + ['collapsed nation conflict cleanup', 'live-sortie-collapse-conflict.json'], ['single defending general', 'live-sortie-defender.json'], ['multiple defending generals', 'live-sortie-multiple-defenders.json'], ['supply retreat', 'live-sortie-supply-retreat.json'], diff --git a/tools/integration-tests/test/turnCommandCoreReference.integration.test.ts b/tools/integration-tests/test/turnCommandCoreReference.integration.test.ts index fcf0b74..b332d0d 100644 --- a/tools/integration-tests/test/turnCommandCoreReference.integration.test.ts +++ b/tools/integration-tests/test/turnCommandCoreReference.integration.test.ts @@ -93,6 +93,10 @@ integration('core ↔ legacy command-boundary differential', () => { it.each([ ['nation declaration', 'fixtures/turn-differential/nation-declaration.json'], ['live sortie conquest', 'fixtures/turn-differential/live-sortie-conquest.json'], + [ + 'live sortie collapsed nation conflict cleanup', + 'fixtures/turn-differential/live-sortie-collapse-conflict.json', + ], ['live sortie against a defending general', 'fixtures/turn-differential/live-sortie-defender.json'], [ 'live sortie against multiple defending generals', @@ -104,6 +108,10 @@ integration('core ↔ legacy command-boundary differential', () => { ['live sortie conflict arbitration', 'fixtures/turn-differential/live-sortie-conflict-arbitration.json'], ['live sortie tied conflict', 'fixtures/turn-differential/live-sortie-conflict-tie.json'], ['live sortie outer lifecycle: conquest', 'fixtures/turn-differential/live-sortie-conquest.json'], + [ + 'live sortie outer lifecycle: collapsed nation conflict cleanup', + 'fixtures/turn-differential/live-sortie-collapse-conflict.json', + ], ['live sortie outer lifecycle: defender', 'fixtures/turn-differential/live-sortie-defender.json'], [ 'live sortie outer lifecycle: multiple defenders', @@ -173,6 +181,12 @@ integration('core ↔ legacy command-boundary differential', () => { }); expect(reference.after.cities.find((city) => city.id === 71)?.supplyState).toBe(1); } + if (fixturePath.endsWith('live-sortie-collapse-conflict.json')) { + expect(reference.before.cities.find((city) => city.id === 71)?.conflict).toEqual({ 2: 1234 }); + expect(reference.after.nations.some((nation) => nation.id === 2)).toBe(false); + expect(Object.keys(reference.after.cities.find((city) => city.id === 71)?.conflict ?? {})).toEqual([]); + expect(Object.keys(core.after.cities.find((city) => city.id === 71)?.conflict ?? {})).toEqual([]); + } if (fixturePath.endsWith('live-sortie-conflict-arbitration.json')) { expect(reference.before.cities.find((city) => city.id === 70)?.conflict).toEqual({ 3: 10_000 }); expect(reference.after.cities.find((city) => city.id === 70)).toMatchObject({