42 lines
1.4 KiB
TypeScript
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: ['위가 멸망'],
|
|
});
|
|
});
|
|
});
|