mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-25 00:11:26 -07:00
39 lines
1.5 KiB
TypeScript
39 lines
1.5 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import { createBuildFieldGroupingOverlayMainDepsHandler } from './field-grouping-overlay-main-deps';
|
|
|
|
test('field grouping overlay main deps builder maps window visibility and resolver wiring', () => {
|
|
const calls: string[] = [];
|
|
const modalSet = new Set<'runtime-options'>();
|
|
const resolver = (choice: unknown) => calls.push(`resolver:${choice}`);
|
|
|
|
const deps = createBuildFieldGroupingOverlayMainDepsHandler({
|
|
getMainWindow: () => ({
|
|
isDestroyed: () => false,
|
|
webContents: {
|
|
send: () => {},
|
|
},
|
|
}),
|
|
getVisibleOverlayVisible: () => true,
|
|
setVisibleOverlayVisible: (visible) => calls.push(`visible:${visible}`),
|
|
getResolver: () => resolver,
|
|
setResolver: (nextResolver) => {
|
|
calls.push(`set-resolver:${nextResolver ? 'set' : 'null'}`);
|
|
},
|
|
getRestoreVisibleOverlayOnModalClose: () => modalSet,
|
|
sendToActiveOverlayWindow: (channel, payload) => {
|
|
calls.push(`send:${channel}:${String(payload)}`);
|
|
return true;
|
|
},
|
|
})();
|
|
|
|
assert.equal(deps.getMainWindow()?.isDestroyed(), false);
|
|
assert.equal(deps.getVisibleOverlayVisible(), true);
|
|
assert.equal(deps.getResolver(), resolver);
|
|
assert.equal(deps.getRestoreVisibleOverlayOnModalClose(), modalSet);
|
|
deps.setVisibleOverlayVisible(true);
|
|
deps.setResolver(null);
|
|
assert.equal(deps.sendToVisibleOverlay('kiku:open', 1), true);
|
|
assert.deepEqual(calls, ['visible:true', 'set-resolver:null', 'send:kiku:open:1']);
|
|
});
|