23 lines
869 B
TypeScript
23 lines
869 B
TypeScript
|
|
import { describe, it, expect } from 'vitest';
|
||
|
|
import { freshPlayer } from './_setup/harness.js';
|
||
|
|
|
||
|
|
describe('e2e-prod: storage', () => {
|
||
|
|
it('save -> get -> delete round-trip', async () => {
|
||
|
|
const client = await freshPlayer();
|
||
|
|
const payload = JSON.stringify({ level: 7 });
|
||
|
|
const item = { id: 'slot_1', type: 'savegame', data: payload };
|
||
|
|
|
||
|
|
await client.storage.save([item]);
|
||
|
|
|
||
|
|
// The server may assign its own item id, so match on type + data, not the client id.
|
||
|
|
// v0.2 fetches the whole storage; filtering by type is client-side.
|
||
|
|
const got = await client.storage.reload();
|
||
|
|
expect(got.items?.some((i) => i.type === 'savegame' && i.data === payload)).toBe(true);
|
||
|
|
|
||
|
|
await client.storage.delete('savegame');
|
||
|
|
|
||
|
|
const after = await client.storage.reload();
|
||
|
|
expect(after.items?.some((i) => i.data === payload)).toBeFalsy();
|
||
|
|
});
|
||
|
|
});
|