Files
ttrpg-initiative-tracker/src/tests/firebase.contract.test.js
T

19 lines
836 B
JavaScript
Raw Normal View History

// Firebase adapter contract test.
// Runs the SAME storage contract as memory + ws (src/storage/contract.js)
// against createFirebaseStorage. The SDK is mocked via src/__mocks__/firebase/*,
// so this proves the adapter translates contract calls -> SDK calls correctly
// (path handling, merge semantics, subscribe) without hitting network.
import { initFirebase, createFirebaseStorage } from '../storage/firebase';
import { runStorageContract } from '../storage/contract';
import { resetMockDb } from '../__mocks__/firebase/_mock-db';
// Firebase mock DB is shared global state. Reset before each factory so
// contract tests are isolated.
runStorageContract('firebase', () => {
resetMockDb();
const ok = initFirebase();
if (!ok) throw new Error('initFirebase failed under mocked env');
return createFirebaseStorage();
});