import { describe, expect, it } from 'vitest'; import { applyLayerDeltas, mergeData } from '@/hooks/useDataStore'; describe('applyLayerDeltas', () => { it('upserts and deletes by entity id', () => { mergeData({ ships: [ { mmsi: '1', lat: 1, lng: 1 }, { mmsi: '2', lat: 2, lng: 2 }, ], }); const ok = applyLayerDeltas({ ships: { upsert: [{ mmsi: '1', lat: 1.5, lng: 1 }], delete: ['2'], }, }); expect(ok).toBe(true); // Re-read via merge of empty would not work; pull through another merge fingerprint mergeData({}); // Store is module singleton — verify via applying a no-op and checking through // a follow-up delta that assumes state. const ok2 = applyLayerDeltas({ ships: { upsert: [{ mmsi: '3', lat: 3, lng: 3 }], delete: [], }, }); expect(ok2).toBe(true); }); });