Files
core2026/app/game-engine/test/oldNationArchive.test.ts
T

42 lines
1.4 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import type { Nation } from '@sammo-ts/logic';
import { buildOldNationArchiveData } from '../src/turn/oldNationArchive.js';
describe('old nation archive data', () => {
it('writes one canonical public shape for winner and deleted-nation readers', () => {
const nation: Nation = {
id: 2,
name: '위',
color: '#0000ff',
capitalCityId: 3,
chiefGeneralId: 7,
gold: 1_000,
rice: 2_000,
power: 8_000,
level: 5,
typeCode: 'che_법가',
meta: {
tech: 3_000,
aux: { legacy: 'preserved' },
max_power: { maxPower: 20_000, maxCrew: 80_000, maxCities: ['허창'] },
},
};
expect(buildOldNationArchiveData({ nation, generalIds: [7, 8], history: ['위가 멸망'] })).toMatchObject({
nation: 2,
name: '위',
type: 'che_법가',
typeCode: 'che_법가',
tech: 3_000,
power: 8_000,
maxPower: 20_000,
maxCrew: 80_000,
maxCities: ['허창'],
aux: { legacy: 'preserved', maxPower: 20_000, maxCrew: 80_000, maxCities: ['허창'] },
generals: [7, 8],
history: ['위가 멸망'],
});
});
});