- firebase.contract.test.js: run storage contract against createFirebaseStorage via SDK mock. Currently 12 fail (firebase diverges from contract: no norm(), injects id). Failures real — firebase copied from main, memory/ws invented new requirements. Contract under review vs main prod truth. - storage.factory.test.js: getStorage() routing per REACT_APP_STORAGE env, singleton cache, getStorageMode() reporting. - Combat.scenario.test.js: remove console.log (test noise). - package.json: test:all now runs App + shared + server suites (was missing App).
19 lines
836 B
JavaScript
19 lines
836 B
JavaScript
// 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();
|
|
});
|