add different view types

This commit is contained in:
Géry Debongnie
2019-03-06 17:36:22 +01:00
parent 4fe7745a8a
commit 4b02b74440
13 changed files with 124 additions and 17 deletions
+8 -4
View File
@@ -1,6 +1,6 @@
import { readFile } from "fs";
import { BaseMenuItem, getMenuInfo } from "../../src/ts/loaders";
import { actionRegistry } from "../../src/ts/registries";
import { actionRegistry, viewRegistry } from "../../src/ts/registries";
import { ActionDescription } from "../../src/ts/store/action_manager_mixin";
import { MenuInfo } from "../../src/ts/store/store";
import { Registry } from "../../src/ts/core/registry";
@@ -9,6 +9,7 @@ export interface TestData {
menuInfo: MenuInfo;
actions: ActionDescription[];
actionRegistry: typeof actionRegistry;
viewRegistry: typeof viewRegistry;
templates: string;
}
@@ -18,13 +19,16 @@ export async function makeTestData(): Promise<TestData> {
if (!templates) {
templates = await loadTemplates();
}
const registry: typeof actionRegistry = new Registry();
(<any>registry).map = Object.assign({}, (<any>actionRegistry).map);
const _actionRegistry: typeof actionRegistry = new Registry();
(<any>_actionRegistry).map = Object.assign({}, (<any>actionRegistry).map);
const _viewRegistry: typeof actionRegistry = new Registry();
(<any>_viewRegistry).map = Object.assign({}, (<any>actionRegistry).map);
return {
menuInfo: makeMenuInfo(),
actions: makeActionData(),
actionRegistry: registry,
actionRegistry: _actionRegistry,
viewRegistry: _viewRegistry,
templates
};
}
+3 -1
View File
@@ -41,12 +41,14 @@ export function makeTestEnv(info: TestInfo = {}): TestEnv {
roots: []
};
const actionRegistry = info.actionRegistry || new Registry();
const viewRegistry = info.viewRegistry || new Registry();
const actions = info.actions || [];
const data: TestData = {
menuInfo,
actions,
actionRegistry,
viewRegistry,
templates
};
@@ -63,7 +65,7 @@ export function makeTestEnv(info: TestInfo = {}): TestEnv {
router: info.router || new MockRouter()
};
const store = new Store(services, menuInfo, actionRegistry);
const store = new Store(services, menuInfo, actionRegistry, viewRegistry);
const env = makeEnv(store, templates);
const testEnv = Object.assign({ store }, env);
return testEnv;