From aa2b4ec7261c2610a2f572cbb2cde05b0e45a327 Mon Sep 17 00:00:00 2001 From: hided62 Date: Tue, 18 Aug 2026 13:20:50 +0000 Subject: [PATCH] =?UTF-8?q?test:=20=EA=B2=8C=EC=9E=84=20=EC=98=A4=ED=94=88?= =?UTF-8?q?=20=EC=9B=90=EA=B8=88=20=EC=8A=A4=EB=83=85=EC=83=B7=20=EA=B2=80?= =?UTF-8?q?=EC=A6=9D=20=EB=B3=B4=EA=B0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 게임 시작 시 previous뿐 아니라 미합산 유산 키까지 오픈 원금에 포함하는 동작을 PostgreSQL 통합 테스트로 고정한다. --- app/game-engine/test/scenarioSeeder.test.ts | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/app/game-engine/test/scenarioSeeder.test.ts b/app/game-engine/test/scenarioSeeder.test.ts index ec0d7f91..d516c825 100644 --- a/app/game-engine/test/scenarioSeeder.test.ts +++ b/app/game-engine/test/scenarioSeeder.test.ts @@ -93,6 +93,41 @@ const canRun = await canConnectToDatabase(databaseUrl); const describeDb = describe.runIf(canRun); describeDb('scenario database seed', () => { + test('snapshots the complete opening inheritance balance before game activity', async () => { + const serverId = 'scenario-seeder-inheritance-baseline'; + const userId = 'scenario-seeder-inheritance-user'; + const connector = createGamePostgresConnector({ url: databaseUrl }); + await connector.connect(); + try { + await connector.prisma.gameInheritanceBaseline.deleteMany({ where: { serverId } }); + await connector.prisma.gameHistory.deleteMany({ where: { serverId } }); + await connector.prisma.inheritancePoint.deleteMany({ where: { userId } }); + await connector.prisma.inheritancePoint.createMany({ + data: [ + { userId, key: 'previous', value: 10_000 }, + { userId, key: 'lived_month', value: 351.9 }, + ], + }); + + await seedScenarioToDatabase({ + scenarioId: 903, + databaseUrl, + installOptions: { serverId }, + }); + + await expect( + connector.prisma.gameInheritanceBaseline.findUniqueOrThrow({ + where: { serverId_userId: { serverId, userId } }, + }) + ).resolves.toMatchObject({ openingPoint: 10_351, source: 'OPENING' }); + } finally { + await connector.prisma.gameInheritanceBaseline.deleteMany({ where: { serverId } }); + await connector.prisma.gameHistory.deleteMany({ where: { serverId } }); + await connector.prisma.inheritancePoint.deleteMany({ where: { userId } }); + await connector.disconnect(); + } + }); + test('writes scenario data into tables', async () => { const { seed } = await seedScenarioToDatabase({ scenarioId,