import { describe, expect, it } from 'vitest';
import { SAVE_VERSION, normalizeSave, type SaveData } from '../saveData';
/** Сейв заданной версии с минимальным содержимым. */
function saveOf(version: number): SaveData {
return {
version,
area: 'meadows',
pos: { x: 1, y: 2 },
state: { version: 2, flags: ['evening'], vars: {} },
items: { flower: 1 },
savedAt: 0
} as SaveData;
}
describe('normalizeSave', () => {
it('v3 (без clock): время дефолтится в старт 8:00, версия поднимается', () => {
const out = normalizeSave(saveOf(3));
expect(out.version).toBe(SAVE_VERSION);
expect(out.clock).toEqual({ minutes: 480 });
expect(out.items).toEqual({ flower: 1 });
});
it('v4: проходит без изменений (тот же объект)', () => {
const s = saveOf(SAVE_VERSION);
s.clock = { minutes: 1230 };
expect(normalizeSave(s)).toBe(s);
});
});