mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
Port to current main: main reserved layer-state token 0 for street-level, so air-quality takes the next free token, 4 (registry, ledger, and the allocation tests shift by one). Main moved source contracts into sourceComposition.js, so air-quality registers its getSnapshot contract there. Package boundaries keep main's lists plus this branch's air-quality modules and packages.
34 lines
1.4 KiB
JavaScript
34 lines
1.4 KiB
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { createReferenceSources } from './reference.js';
|
|
import { createStandaloneReferenceSources } from '../standalone/layerSources.js';
|
|
|
|
test('reference factories retain compatibility without starting acquisition or sharing instances', (t) => {
|
|
let requests = 0;
|
|
t.mock.method(globalThis, 'fetch', () => {
|
|
requests++;
|
|
throw new Error('unexpected acquisition');
|
|
});
|
|
assert.equal(createReferenceSources, createStandaloneReferenceSources);
|
|
const first = createReferenceSources();
|
|
const second = createReferenceSources();
|
|
assert.deepEqual(Object.keys(first), [
|
|
'earthquakes',
|
|
'air-quality',
|
|
'fire-perimeters',
|
|
'cables',
|
|
'gnss-integrity',
|
|
]);
|
|
assert.notEqual(first.earthquakes, second.earthquakes);
|
|
assert.notEqual(first['air-quality'], second['air-quality']);
|
|
assert.notEqual(first['fire-perimeters'], second['fire-perimeters']);
|
|
assert.notEqual(first.cables, second.cables);
|
|
assert.notEqual(first['gnss-integrity'], second['gnss-integrity']);
|
|
assert.equal(typeof first.earthquakes.getSnapshot, 'function');
|
|
assert.equal(typeof first['air-quality'].getSnapshot, 'function');
|
|
assert.equal(typeof first['fire-perimeters'].getSnapshot, 'function');
|
|
assert.equal(typeof first.cables.fetch, 'function');
|
|
assert.equal(typeof first['gnss-integrity'].getSnapshot, 'function');
|
|
assert.equal(requests, 0);
|
|
});
|