@vived/host 4.0.3 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js +24 -0
- package/dist/cjs/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js.map +1 -0
- package/dist/cjs/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.test.js +30 -0
- package/dist/cjs/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.test.js.map +1 -0
- package/dist/cjs/ChallengeResults/Adapters/index.js +1 -0
- package/dist/cjs/ChallengeResults/Adapters/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Factories/index.js +1 -1
- package/dist/cjs/ChallengeResults/Factories/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/Factories/setupChallengeResults.js +14 -0
- package/dist/cjs/ChallengeResults/Factories/setupChallengeResults.js.map +1 -0
- package/dist/cjs/ChallengeResults/Factories/setupChallengeResultsForSandbox.js +1 -0
- package/dist/cjs/ChallengeResults/Factories/setupChallengeResultsForSandbox.js.map +1 -1
- package/dist/cjs/ChallengeResults/Mocks/MockHasChallengeResultsPM.js +16 -0
- package/dist/cjs/ChallengeResults/Mocks/MockHasChallengeResultsPM.js.map +1 -0
- package/dist/cjs/ChallengeResults/Mocks/index.js +1 -0
- package/dist/cjs/ChallengeResults/Mocks/index.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/ChallengeResultsListPM.js +2 -0
- package/dist/cjs/ChallengeResults/PMs/ChallengeResultsListPM.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/ChallengeResultsListPM.test.js +4 -2
- package/dist/cjs/ChallengeResults/PMs/ChallengeResultsListPM.test.js.map +1 -1
- package/dist/cjs/ChallengeResults/PMs/HasChallengeResultsPM.js +37 -0
- package/dist/cjs/ChallengeResults/PMs/HasChallengeResultsPM.js.map +1 -0
- package/dist/cjs/ChallengeResults/PMs/HasChallengeResultsPM.test.js +32 -0
- package/dist/cjs/ChallengeResults/PMs/HasChallengeResultsPM.test.js.map +1 -0
- package/dist/cjs/ChallengeResults/PMs/index.js +1 -0
- package/dist/cjs/ChallengeResults/PMs/index.js.map +1 -1
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.js +24 -0
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.js.map +1 -0
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.test.js +49 -0
- package/dist/cjs/StateMachine/Adapters/hostStateAdapter.test.js.map +1 -0
- package/dist/cjs/StateMachine/Adapters/index.js +1 -0
- package/dist/cjs/StateMachine/Adapters/index.js.map +1 -1
- package/dist/cjs/StateMachine/Controllers/editStateName.js +13 -0
- package/dist/cjs/StateMachine/Controllers/editStateName.js.map +1 -0
- package/dist/cjs/StateMachine/Controllers/editStateName.test.js +49 -0
- package/dist/cjs/StateMachine/Controllers/editStateName.test.js.map +1 -0
- package/dist/cjs/StateMachine/Controllers/index.js +1 -0
- package/dist/cjs/StateMachine/Controllers/index.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateMachine.js +67 -24
- package/dist/cjs/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/cjs/StateMachine/Entities/HostStateMachine.test.js +174 -0
- package/dist/cjs/StateMachine/Entities/HostStateMachine.test.js.map +1 -1
- package/dist/cjs/StateMachine/Mocks/MockEditStateNameUC.js +12 -0
- package/dist/cjs/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -0
- package/dist/cjs/StateMachine/Mocks/MockHostStatePM.js +23 -0
- package/dist/cjs/StateMachine/Mocks/MockHostStatePM.js.map +1 -0
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.js +21 -15
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.test.js +65 -56
- package/dist/cjs/StateMachine/PMs/HostStateMachinePM.test.js.map +1 -1
- package/dist/cjs/StateMachine/PMs/HostStatePM.js +136 -0
- package/dist/cjs/StateMachine/PMs/HostStatePM.js.map +1 -0
- package/dist/cjs/StateMachine/PMs/HostStatePM.test.js +405 -0
- package/dist/cjs/StateMachine/PMs/HostStatePM.test.js.map +1 -0
- package/dist/cjs/StateMachine/PMs/index.js +1 -0
- package/dist/cjs/StateMachine/PMs/index.js.map +1 -1
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.js +35 -0
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.js.map +1 -0
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.test.js +58 -0
- package/dist/cjs/StateMachine/UCs/EditStateNameUC.test.js.map +1 -0
- package/dist/cjs/StateMachine/UCs/index.js +1 -0
- package/dist/cjs/StateMachine/UCs/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Factories/index.js +1 -1
- package/dist/cjs/ThemeColors/Factories/index.js.map +1 -1
- package/dist/cjs/ThemeColors/Factories/setupTheme.js +20 -0
- package/dist/cjs/ThemeColors/Factories/setupTheme.js.map +1 -0
- package/dist/cjs/ThemeColors/UCs/SetThemeUC.js +1 -1
- package/dist/cjs/ThemeColors/UCs/SetThemeUC.js.map +1 -1
- package/dist/esm/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js +21 -0
- package/dist/esm/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.js.map +1 -0
- package/dist/esm/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.test.js +28 -0
- package/dist/esm/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.test.js.map +1 -0
- package/dist/esm/ChallengeResults/Adapters/index.js +1 -0
- package/dist/esm/ChallengeResults/Adapters/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Factories/index.js +1 -1
- package/dist/esm/ChallengeResults/Factories/index.js.map +1 -1
- package/dist/esm/ChallengeResults/Factories/setupChallengeResults.js +11 -0
- package/dist/esm/ChallengeResults/Factories/setupChallengeResults.js.map +1 -0
- package/dist/esm/ChallengeResults/Factories/setupChallengeResultsForSandbox.js +2 -1
- package/dist/esm/ChallengeResults/Factories/setupChallengeResultsForSandbox.js.map +1 -1
- package/dist/esm/ChallengeResults/Mocks/MockHasChallengeResultsPM.js +11 -0
- package/dist/esm/ChallengeResults/Mocks/MockHasChallengeResultsPM.js.map +1 -0
- package/dist/esm/ChallengeResults/Mocks/index.js +1 -0
- package/dist/esm/ChallengeResults/Mocks/index.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/ChallengeResultsListPM.js +2 -0
- package/dist/esm/ChallengeResults/PMs/ChallengeResultsListPM.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/ChallengeResultsListPM.test.js +4 -2
- package/dist/esm/ChallengeResults/PMs/ChallengeResultsListPM.test.js.map +1 -1
- package/dist/esm/ChallengeResults/PMs/HasChallengeResultsPM.js +32 -0
- package/dist/esm/ChallengeResults/PMs/HasChallengeResultsPM.js.map +1 -0
- package/dist/esm/ChallengeResults/PMs/HasChallengeResultsPM.test.js +30 -0
- package/dist/esm/ChallengeResults/PMs/HasChallengeResultsPM.test.js.map +1 -0
- package/dist/esm/ChallengeResults/PMs/index.js +1 -0
- package/dist/esm/ChallengeResults/PMs/index.js.map +1 -1
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.js +21 -0
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.js.map +1 -0
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.test.js +47 -0
- package/dist/esm/StateMachine/Adapters/hostStateAdapter.test.js.map +1 -0
- package/dist/esm/StateMachine/Adapters/index.js +1 -0
- package/dist/esm/StateMachine/Adapters/index.js.map +1 -1
- package/dist/esm/StateMachine/Controllers/editStateName.js +10 -0
- package/dist/esm/StateMachine/Controllers/editStateName.js.map +1 -0
- package/dist/esm/StateMachine/Controllers/editStateName.test.js +47 -0
- package/dist/esm/StateMachine/Controllers/editStateName.test.js.map +1 -0
- package/dist/esm/StateMachine/Controllers/index.js +1 -0
- package/dist/esm/StateMachine/Controllers/index.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateMachine.js +67 -24
- package/dist/esm/StateMachine/Entities/HostStateMachine.js.map +1 -1
- package/dist/esm/StateMachine/Entities/HostStateMachine.test.js +174 -0
- package/dist/esm/StateMachine/Entities/HostStateMachine.test.js.map +1 -1
- package/dist/esm/StateMachine/Mocks/MockEditStateNameUC.js +8 -0
- package/dist/esm/StateMachine/Mocks/MockEditStateNameUC.js.map +1 -0
- package/dist/esm/StateMachine/Mocks/MockHostStatePM.js +18 -0
- package/dist/esm/StateMachine/Mocks/MockHostStatePM.js.map +1 -0
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.js +21 -15
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.test.js +65 -56
- package/dist/esm/StateMachine/PMs/HostStateMachinePM.test.js.map +1 -1
- package/dist/esm/StateMachine/PMs/HostStatePM.js +131 -0
- package/dist/esm/StateMachine/PMs/HostStatePM.js.map +1 -0
- package/dist/esm/StateMachine/PMs/HostStatePM.test.js +403 -0
- package/dist/esm/StateMachine/PMs/HostStatePM.test.js.map +1 -0
- package/dist/esm/StateMachine/PMs/index.js +1 -0
- package/dist/esm/StateMachine/PMs/index.js.map +1 -1
- package/dist/esm/StateMachine/UCs/EditStateNameUC.js +30 -0
- package/dist/esm/StateMachine/UCs/EditStateNameUC.js.map +1 -0
- package/dist/esm/StateMachine/UCs/EditStateNameUC.test.js +56 -0
- package/dist/esm/StateMachine/UCs/EditStateNameUC.test.js.map +1 -0
- package/dist/esm/StateMachine/UCs/index.js +1 -0
- package/dist/esm/StateMachine/UCs/index.js.map +1 -1
- package/dist/esm/ThemeColors/Factories/index.js +1 -1
- package/dist/esm/ThemeColors/Factories/index.js.map +1 -1
- package/dist/esm/ThemeColors/Factories/setupTheme.js +17 -0
- package/dist/esm/ThemeColors/Factories/setupTheme.js.map +1 -0
- package/dist/esm/ThemeColors/UCs/SetThemeUC.js +1 -1
- package/dist/esm/ThemeColors/UCs/SetThemeUC.js.map +1 -1
- package/dist/types/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.d.ts +3 -0
- package/dist/types/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.d.ts.map +1 -0
- package/dist/types/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.test.d.ts +2 -0
- package/dist/types/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.test.d.ts.map +1 -0
- package/dist/types/ChallengeResults/Adapters/index.d.ts +1 -0
- package/dist/types/ChallengeResults/Adapters/index.d.ts.map +1 -1
- package/dist/types/ChallengeResults/Factories/index.d.ts +1 -1
- package/dist/types/ChallengeResults/Factories/index.d.ts.map +1 -1
- package/dist/types/ChallengeResults/Factories/setupChallengeResults.d.ts +4 -0
- package/dist/types/ChallengeResults/Factories/setupChallengeResults.d.ts.map +1 -0
- package/dist/types/ChallengeResults/Factories/setupChallengeResultsForSandbox.d.ts.map +1 -1
- package/dist/types/ChallengeResults/Mocks/MockHasChallengeResultsPM.d.ts +8 -0
- package/dist/types/ChallengeResults/Mocks/MockHasChallengeResultsPM.d.ts.map +1 -0
- package/dist/types/ChallengeResults/Mocks/index.d.ts +1 -0
- package/dist/types/ChallengeResults/Mocks/index.d.ts.map +1 -1
- package/dist/types/ChallengeResults/PMs/ChallengeResultsListPM.d.ts +1 -0
- package/dist/types/ChallengeResults/PMs/ChallengeResultsListPM.d.ts.map +1 -1
- package/dist/types/ChallengeResults/PMs/HasChallengeResultsPM.d.ts +7 -0
- package/dist/types/ChallengeResults/PMs/HasChallengeResultsPM.d.ts.map +1 -0
- package/dist/types/ChallengeResults/PMs/HasChallengeResultsPM.test.d.ts +2 -0
- package/dist/types/ChallengeResults/PMs/HasChallengeResultsPM.test.d.ts.map +1 -0
- package/dist/types/ChallengeResults/PMs/index.d.ts +1 -0
- package/dist/types/ChallengeResults/PMs/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Adapters/hostStateAdapter.d.ts +4 -0
- package/dist/types/StateMachine/Adapters/hostStateAdapter.d.ts.map +1 -0
- package/dist/types/StateMachine/Adapters/hostStateAdapter.test.d.ts +2 -0
- package/dist/types/StateMachine/Adapters/hostStateAdapter.test.d.ts.map +1 -0
- package/dist/types/StateMachine/Adapters/index.d.ts +1 -0
- package/dist/types/StateMachine/Adapters/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Controllers/editStateName.d.ts +3 -0
- package/dist/types/StateMachine/Controllers/editStateName.d.ts.map +1 -0
- package/dist/types/StateMachine/Controllers/editStateName.test.d.ts +2 -0
- package/dist/types/StateMachine/Controllers/editStateName.test.d.ts.map +1 -0
- package/dist/types/StateMachine/Controllers/index.d.ts +1 -0
- package/dist/types/StateMachine/Controllers/index.d.ts.map +1 -1
- package/dist/types/StateMachine/Entities/HostStateMachine.d.ts +6 -0
- package/dist/types/StateMachine/Entities/HostStateMachine.d.ts.map +1 -1
- package/dist/types/StateMachine/Mocks/MockEditStateNameUC.d.ts +7 -0
- package/dist/types/StateMachine/Mocks/MockEditStateNameUC.d.ts.map +1 -0
- package/dist/types/StateMachine/Mocks/MockHostStatePM.d.ts +9 -0
- package/dist/types/StateMachine/Mocks/MockHostStatePM.d.ts.map +1 -0
- package/dist/types/StateMachine/PMs/HostStateMachinePM.d.ts +3 -4
- package/dist/types/StateMachine/PMs/HostStateMachinePM.d.ts.map +1 -1
- package/dist/types/StateMachine/PMs/HostStatePM.d.ts +18 -0
- package/dist/types/StateMachine/PMs/HostStatePM.d.ts.map +1 -0
- package/dist/types/StateMachine/PMs/HostStatePM.test.d.ts +2 -0
- package/dist/types/StateMachine/PMs/HostStatePM.test.d.ts.map +1 -0
- package/dist/types/StateMachine/PMs/index.d.ts +1 -0
- package/dist/types/StateMachine/PMs/index.d.ts.map +1 -1
- package/dist/types/StateMachine/UCs/EditStateNameUC.d.ts +9 -0
- package/dist/types/StateMachine/UCs/EditStateNameUC.d.ts.map +1 -0
- package/dist/types/StateMachine/UCs/EditStateNameUC.test.d.ts +2 -0
- package/dist/types/StateMachine/UCs/EditStateNameUC.test.d.ts.map +1 -0
- package/dist/types/StateMachine/UCs/index.d.ts +1 -0
- package/dist/types/StateMachine/UCs/index.d.ts.map +1 -1
- package/dist/types/ThemeColors/Factories/index.d.ts +1 -1
- package/dist/types/ThemeColors/Factories/index.d.ts.map +1 -1
- package/dist/types/ThemeColors/Factories/setupTheme.d.ts +3 -0
- package/dist/types/ThemeColors/Factories/setupTheme.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasChallengeResultsPMAdapter = void 0;
|
|
4
|
+
const HasChallengeResultsPM_1 = require("../PMs/HasChallengeResultsPM");
|
|
5
|
+
exports.hasChallengeResultsPMAdapter = {
|
|
6
|
+
defaultVM: false,
|
|
7
|
+
subscribe: (appObjects, setVM) => {
|
|
8
|
+
const pm = HasChallengeResultsPM_1.HasChallengeResultsPM.get(appObjects);
|
|
9
|
+
if (!pm) {
|
|
10
|
+
appObjects.submitError("hasChallengeResultsPMAdapter", "Unable to find HasChallengeResultsPM");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
pm.addView(setVM);
|
|
14
|
+
},
|
|
15
|
+
unsubscribe: (appObjects, setVM) => {
|
|
16
|
+
const pm = HasChallengeResultsPM_1.HasChallengeResultsPM.get(appObjects);
|
|
17
|
+
if (!pm) {
|
|
18
|
+
appObjects.submitError("hasChallengeResultsPMAdapter", "Unable to find HasChallengeResultsPM");
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
pm.removeView(setVM);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=hasChallengeResultsPMAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasChallengeResultsPMAdapter.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.ts"],"names":[],"mappings":";;;AACA,wEAAqE;AAExD,QAAA,4BAA4B,GAAgC;IACvE,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,CAAC,UAAyB,EAAE,KAA4B,EAAE,EAAE;QACrE,MAAM,EAAE,GAAG,6CAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,8BAA8B,EAC9B,sCAAsC,CACvC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CAAC,UAAyB,EAAE,KAA4B,EAAE,EAAE;QACvE,MAAM,EAAE,GAAG,6CAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,8BAA8B,EAC9B,sCAAsC,CACvC,CAAC;YACF,OAAO;QACT,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, SingletonPmAdapter } from \"@vived/core\";\r\nimport { HasChallengeResultsPM } from \"../PMs/HasChallengeResultsPM\";\r\n\r\nexport const hasChallengeResultsPMAdapter: SingletonPmAdapter<boolean> = {\r\n defaultVM: false,\r\n subscribe: (appObjects: AppObjectRepo, setVM: (vm: boolean) => void) => {\r\n const pm = HasChallengeResultsPM.get(appObjects);\r\n if (!pm) {\r\n appObjects.submitError(\r\n \"hasChallengeResultsPMAdapter\",\r\n \"Unable to find HasChallengeResultsPM\"\r\n );\r\n return;\r\n }\r\n pm.addView(setVM);\r\n },\r\n unsubscribe: (appObjects: AppObjectRepo, setVM: (vm: boolean) => void) => {\r\n const pm = HasChallengeResultsPM.get(appObjects);\r\n if (!pm) {\r\n appObjects.submitError(\r\n \"hasChallengeResultsPMAdapter\",\r\n \"Unable to find HasChallengeResultsPM\"\r\n );\r\n return;\r\n }\r\n pm.removeView(setVM);\r\n }\r\n};\r\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@vived/core");
|
|
4
|
+
const MockHasChallengeResultsPM_1 = require("../Mocks/MockHasChallengeResultsPM");
|
|
5
|
+
const hasChallengeResultsPMAdapter_1 = require("./hasChallengeResultsPMAdapter");
|
|
6
|
+
function makeTestRig() {
|
|
7
|
+
const appObjects = (0, core_1.makeAppObjectRepo)();
|
|
8
|
+
const mockPM = (0, MockHasChallengeResultsPM_1.makeMockHasChallengeResultsPM)(appObjects);
|
|
9
|
+
return { appObjects, mockPM };
|
|
10
|
+
}
|
|
11
|
+
describe("Has Challenge Results PM Adapter", () => {
|
|
12
|
+
it("Sets the Default VM", () => {
|
|
13
|
+
expect(hasChallengeResultsPMAdapter_1.hasChallengeResultsPMAdapter.defaultVM).toEqual(false);
|
|
14
|
+
});
|
|
15
|
+
it("Add a view on subscribe", () => {
|
|
16
|
+
const { mockPM, appObjects } = makeTestRig();
|
|
17
|
+
mockPM.addView = jest.fn();
|
|
18
|
+
const setVM = jest.fn();
|
|
19
|
+
hasChallengeResultsPMAdapter_1.hasChallengeResultsPMAdapter.subscribe(appObjects, setVM);
|
|
20
|
+
expect(mockPM.addView).toBeCalledWith(setVM);
|
|
21
|
+
});
|
|
22
|
+
it("Removes a view on unsubscribe", () => {
|
|
23
|
+
const { mockPM, appObjects } = makeTestRig();
|
|
24
|
+
mockPM.removeView = jest.fn();
|
|
25
|
+
const setVM = jest.fn();
|
|
26
|
+
hasChallengeResultsPMAdapter_1.hasChallengeResultsPMAdapter.unsubscribe(appObjects, setVM);
|
|
27
|
+
expect(mockPM.removeView).toBeCalledWith(setVM);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=hasChallengeResultsPMAdapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasChallengeResultsPMAdapter.test.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Adapters/hasChallengeResultsPMAdapter.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,kFAAmF;AACnF,iFAA8E;AAE9E,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,yDAA6B,EAAC,UAAU,CAAC,CAAC;IACzD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,2DAA4B,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExB,2DAA4B,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExB,2DAA4B,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockHasChallengeResultsPM } from \"../Mocks/MockHasChallengeResultsPM\";\r\nimport { hasChallengeResultsPMAdapter } from \"./hasChallengeResultsPMAdapter\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const mockPM = makeMockHasChallengeResultsPM(appObjects);\r\n return { appObjects, mockPM };\r\n}\r\n\r\ndescribe(\"Has Challenge Results PM Adapter\", () => {\r\n it(\"Sets the Default VM\", () => {\r\n expect(hasChallengeResultsPMAdapter.defaultVM).toEqual(false);\r\n });\r\n\r\n it(\"Add a view on subscribe\", () => {\r\n const { mockPM, appObjects } = makeTestRig();\r\n\r\n mockPM.addView = jest.fn();\r\n const setVM = jest.fn();\r\n\r\n hasChallengeResultsPMAdapter.subscribe(appObjects, setVM);\r\n\r\n expect(mockPM.addView).toBeCalledWith(setVM);\r\n });\r\n\r\n it(\"Removes a view on unsubscribe\", () => {\r\n const { mockPM, appObjects } = makeTestRig();\r\n\r\n mockPM.removeView = jest.fn();\r\n const setVM = jest.fn();\r\n\r\n hasChallengeResultsPMAdapter.unsubscribe(appObjects, setVM);\r\n\r\n expect(mockPM.removeView).toBeCalledWith(setVM);\r\n });\r\n});\r\n"]}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./challengeResultsListAdapter"), exports);
|
|
18
|
+
__exportStar(require("./hasChallengeResultsPMAdapter"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C","sourcesContent":["export * from \"./challengeResultsListAdapter\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,iEAA+C","sourcesContent":["export * from \"./challengeResultsListAdapter\";\r\nexport * from \"./hasChallengeResultsPMAdapter\";\r\n"]}
|
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./setupChallengeResults"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC","sourcesContent":["export * from \"./setupChallengeResults\""]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupChallengeResults = setupChallengeResults;
|
|
4
|
+
const Entities_1 = require("../Entities");
|
|
5
|
+
const PMs_1 = require("../PMs");
|
|
6
|
+
function setupChallengeResults(appObjects) {
|
|
7
|
+
const ao = appObjects.getOrCreate("ChallengeResults");
|
|
8
|
+
const entity = (0, Entities_1.makeChallengeResults)(ao);
|
|
9
|
+
// PM
|
|
10
|
+
(0, PMs_1.makeChallengeResultsPM)(ao);
|
|
11
|
+
(0, PMs_1.makeHasChallengeResultsPM)(ao);
|
|
12
|
+
return entity;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=setupChallengeResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupChallengeResults.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Factories/setupChallengeResults.ts"],"names":[],"mappings":";;AAIA,sDAYC;AAfD,0CAA2E;AAC3E,gCAA2E;AAE3E,SAAgB,qBAAqB,CACnC,UAAyB;IAEzB,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,IAAA,+BAAoB,EAAC,EAAE,CAAC,CAAC;IAExC,KAAK;IACL,IAAA,4BAAsB,EAAC,EAAE,CAAC,CAAC;IAC3B,IAAA,+BAAyB,EAAC,EAAE,CAAC,CAAC;IAE9B,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { ChallengeResultsEntity, makeChallengeResults } from \"../Entities\";\r\nimport { makeChallengeResultsPM, makeHasChallengeResultsPM } from \"../PMs\";\r\n\r\nexport function setupChallengeResults(\r\n appObjects: AppObjectRepo\r\n): ChallengeResultsEntity {\r\n const ao = appObjects.getOrCreate(\"ChallengeResults\");\r\n\r\n const entity = makeChallengeResults(ao);\r\n\r\n // PM\r\n makeChallengeResultsPM(ao);\r\n makeHasChallengeResultsPM(ao);\r\n\r\n return entity;\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupChallengeResultsForSandbox.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Factories/setupChallengeResultsForSandbox.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"setupChallengeResultsForSandbox.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Factories/setupChallengeResultsForSandbox.ts"],"names":[],"mappings":";;AAIA,0EAQC;AAXD,0CAAmD;AACnD,gCAA2E;AAE3E,SAAgB,+BAA+B,CAAC,UAAyB;IACvE,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAEtD,IAAA,+BAAoB,EAAC,EAAE,CAAC,CAAC;IAEzB,KAAK;IACL,IAAA,4BAAsB,EAAC,EAAE,CAAC,CAAC;IAC3B,IAAA,+BAAyB,EAAC,EAAE,CAAC,CAAC;AAChC,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { makeChallengeResults } from \"../Entities\";\r\nimport { makeChallengeResultsPM, makeHasChallengeResultsPM } from \"../PMs\";\r\n\r\nexport function setupChallengeResultsForSandbox(appObjects: AppObjectRepo) {\r\n const ao = appObjects.getOrCreate(\"ChallengeResults\");\r\n\r\n makeChallengeResults(ao);\r\n\r\n // PM\r\n makeChallengeResultsPM(ao);\r\n makeHasChallengeResultsPM(ao);\r\n}\r\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockHasChallengeResultsPM = void 0;
|
|
4
|
+
exports.makeMockHasChallengeResultsPM = makeMockHasChallengeResultsPM;
|
|
5
|
+
const HasChallengeResultsPM_1 = require("../PMs/HasChallengeResultsPM");
|
|
6
|
+
class MockHasChallengeResultsPM extends HasChallengeResultsPM_1.HasChallengeResultsPM {
|
|
7
|
+
constructor(appObject) {
|
|
8
|
+
super(appObject, HasChallengeResultsPM_1.HasChallengeResultsPM.type);
|
|
9
|
+
this.vmsAreEqual = jest.fn();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.MockHasChallengeResultsPM = MockHasChallengeResultsPM;
|
|
13
|
+
function makeMockHasChallengeResultsPM(appObjects) {
|
|
14
|
+
return new MockHasChallengeResultsPM(appObjects.getOrCreate("MockHasChallengeResultsPM"));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=MockHasChallengeResultsPM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockHasChallengeResultsPM.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Mocks/MockHasChallengeResultsPM.ts"],"names":[],"mappings":";;;AAWA,sEAIC;AAdD,wEAAqE;AAErE,MAAa,yBAA0B,SAAQ,6CAAqB;IAGlE,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,6CAAqB,CAAC,IAAI,CAAC,CAAC;QAH/C,gBAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAIxB,CAAC;CACF;AAND,8DAMC;AAED,SAAgB,6BAA6B,CAAC,UAAyB;IACrE,OAAO,IAAI,yBAAyB,CAClC,UAAU,CAAC,WAAW,CAAC,2BAA2B,CAAC,CACpD,CAAC;AACJ,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\r\nimport { HasChallengeResultsPM } from \"../PMs/HasChallengeResultsPM\";\r\n\r\nexport class MockHasChallengeResultsPM extends HasChallengeResultsPM {\r\n vmsAreEqual = jest.fn();\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, HasChallengeResultsPM.type);\r\n }\r\n}\r\n\r\nexport function makeMockHasChallengeResultsPM(appObjects: AppObjectRepo) {\r\n return new MockHasChallengeResultsPM(\r\n appObjects.getOrCreate(\"MockHasChallengeResultsPM\")\r\n );\r\n}\r\n"]}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./ChallengeResultsListPMMock"), exports);
|
|
18
|
+
__exportStar(require("./MockHasChallengeResultsPM"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA4C","sourcesContent":["export * from \"./ChallengeResultsListPMMock\""]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/Mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA4C;AAC5C,8DAA2C","sourcesContent":["export * from \"./ChallengeResultsListPMMock\"\r\nexport * from \"./MockHasChallengeResultsPM\""]}
|
|
@@ -44,12 +44,14 @@ class ChallengeResultsPMImp extends ChallengeResultsListPM {
|
|
|
44
44
|
this.results.results.forEach((result) => {
|
|
45
45
|
const state = this.stateMachine.getStateByID(result.slideID);
|
|
46
46
|
if (state) {
|
|
47
|
+
const stateIndex = this.stateMachine.getStateIndex(result.slideID) ?? -1;
|
|
47
48
|
const vm = {
|
|
48
49
|
id: result.slideID,
|
|
49
50
|
slideName: state.name,
|
|
50
51
|
attempts: result.tries,
|
|
51
52
|
resultType: result.type,
|
|
52
53
|
message: result.message,
|
|
54
|
+
stateIndex,
|
|
53
55
|
resultData: result.resultData
|
|
54
56
|
};
|
|
55
57
|
organizedResults.push(vm);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChallengeResultsListPM.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/ChallengeResultsListPM.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ChallengeResultsListPM.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/ChallengeResultsListPM.ts"],"names":[],"mappings":";;;AAuCA,wDAIC;AA3CD,sCAAoE;AACpE,mFAAgF;AAChF,mEAQsC;AAiBtC,MAAsB,sBAAuB,SAAQ,kBAEpD;IAGC,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,UAAU,CAAC,YAAY,CAC5B,sBAAsB,CAAC,IAAI,CAC5B,CAAC;IACJ,CAAC;;AATH,wDAUC;AAPQ,2BAAI,GAAG,wBAAwB,CAAC;AASzC,SAAgB,sBAAsB,CACpC,SAAoB;IAEpB,OAAO,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,qBAAsB,SAAQ,sBAAsB;IACxD,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAC5B,yCAAsB,CAAC,IAAI,CAC5B,CAAC;IACJ,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,mCAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,WAAW,CAAC,CAAsB,EAAE,CAAsB;QACxD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAExC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;gBAAE,QAAQ,GAAG,KAAK,CAAC;iBAC3C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IA8BD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QA7BhD,mBAAc,GAAG,GAAS,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAEhD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YAEjD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAa,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC9D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,UAAU,GACd,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBAEzD,MAAM,EAAE,GAAsB;wBAC5B,EAAE,EAAE,MAAM,CAAC,OAAO;wBAClB,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,QAAQ,EAAE,MAAM,CAAC,KAAK;wBACtB,UAAU,EAAE,MAAM,CAAC,IAAI;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,UAAU;wBACV,UAAU,EAAE,MAAM,CAAC,UAAU;qBAC9B,CAAC;oBAEF,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC,CAAC;QAIA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAErD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectPM, AppObjectRepo } from \"@vived/core\";\r\nimport { HostStateMachine } from \"../../StateMachine/Entities/HostStateMachine\";\r\nimport {\r\n ChallengeResultHitData,\r\n ChallengeResultMultiHitData,\r\n ChallengeResultProgressData,\r\n ChallengeResultQualityData,\r\n ChallengeResultScoreData,\r\n ChallengeResultsEntity,\r\n ChallengeResultType\r\n} from \"../Entities/ChallengeResults\";\r\n\r\nexport interface ChallengeResultVM {\r\n id: string;\r\n slideName: string;\r\n attempts: number;\r\n message: string;\r\n resultType: ChallengeResultType;\r\n stateIndex: number;\r\n resultData:\r\n | ChallengeResultHitData\r\n | ChallengeResultMultiHitData\r\n | ChallengeResultQualityData\r\n | ChallengeResultScoreData\r\n | ChallengeResultProgressData;\r\n}\r\n\r\nexport abstract class ChallengeResultsListPM extends AppObjectPM<\r\n ChallengeResultVM[]\r\n> {\r\n static type = \"ChallengeResultsListPM\";\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return appObjects.getSingleton<ChallengeResultsListPM>(\r\n ChallengeResultsListPM.type\r\n );\r\n }\r\n}\r\n\r\nexport function makeChallengeResultsPM(\r\n appObject: AppObject\r\n): ChallengeResultsListPM {\r\n return new ChallengeResultsPMImp(appObject);\r\n}\r\n\r\nclass ChallengeResultsPMImp extends ChallengeResultsListPM {\r\n private get results() {\r\n return this.getCachedSingleton<ChallengeResultsEntity>(\r\n ChallengeResultsEntity.type\r\n );\r\n }\r\n\r\n private get stateMachine() {\r\n return this.getCachedSingleton<HostStateMachine>(HostStateMachine.type);\r\n }\r\n\r\n vmsAreEqual(a: ChallengeResultVM[], b: ChallengeResultVM[]): boolean {\r\n if (a.length !== b.length) return false;\r\n\r\n let areEqual = true;\r\n a.forEach((aResult, i) => {\r\n const bResult = b[i];\r\n if (aResult.id !== bResult.id) areEqual = false;\r\n else if (aResult.attempts !== bResult.attempts) areEqual = false;\r\n });\r\n return areEqual;\r\n }\r\n\r\n onEntityChange = (): void => {\r\n if (!this.results || !this.stateMachine) return;\r\n\r\n const organizedResults: ChallengeResultVM[] = [];\r\n\r\n this.results.results.forEach((result) => {\r\n const state = this.stateMachine!.getStateByID(result.slideID);\r\n if (state) {\r\n const stateIndex =\r\n this.stateMachine!.getStateIndex(result.slideID) ?? -1;\r\n\r\n const vm: ChallengeResultVM = {\r\n id: result.slideID,\r\n slideName: state.name,\r\n attempts: result.tries,\r\n resultType: result.type,\r\n message: result.message,\r\n stateIndex,\r\n resultData: result.resultData\r\n };\r\n\r\n organizedResults.push(vm);\r\n }\r\n });\r\n\r\n this.doUpdateView(organizedResults);\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, ChallengeResultsListPM.type);\r\n this.doUpdateView([]);\r\n this.results?.addChangeObserver(this.onEntityChange);\r\n\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
|
|
@@ -28,7 +28,8 @@ function makeChallengeResultVM(id) {
|
|
|
28
28
|
success: true
|
|
29
29
|
},
|
|
30
30
|
resultType: "HIT",
|
|
31
|
-
slideName: "slide name"
|
|
31
|
+
slideName: "slide name",
|
|
32
|
+
stateIndex: 0
|
|
32
33
|
};
|
|
33
34
|
}
|
|
34
35
|
describe("Challenge Results PM", () => {
|
|
@@ -99,7 +100,8 @@ describe("Challenge Results PM", () => {
|
|
|
99
100
|
},
|
|
100
101
|
resultType: "HIT",
|
|
101
102
|
id: "state1",
|
|
102
|
-
slideName: "State Name"
|
|
103
|
+
slideName: "State Name",
|
|
104
|
+
stateIndex: 0
|
|
103
105
|
}
|
|
104
106
|
]);
|
|
105
107
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChallengeResultsListPM.test.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/ChallengeResultsListPM.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,0DAAmE;AACnE,sFAAuF;AACvF,0CAAmD;AACnD,qEAIkC;AAElC,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,IAAA,+BAAoB,EAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,+BAAoB,EACvC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CACvC,CAAC;IACF,YAAY,CAAC,SAAS,CAAC,CAAC,IAAA,6CAAuB,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,EAAE,GAAG,IAAA,+CAAsB,EAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,OAAO;QACL,EAAE;QACF,OAAO;QACP,UAAU;QACV,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAU;IACvC,OAAO;QACL,QAAQ,EAAE,CAAC;QACX,EAAE;QACF,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE;YACV,OAAO,EAAE,IAAI;SACd;QACD,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"ChallengeResultsListPM.test.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/ChallengeResultsListPM.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeHostStateMachine } from \"../../StateMachine/Entities\";\r\nimport { makeMockHostStateEntity } from \"../../StateMachine/Mocks/MockHostStateEntity\";\r\nimport { makeChallengeResults } from \"../Entities\";\r\nimport {\r\n ChallengeResultsListPM,\r\n ChallengeResultVM,\r\n makeChallengeResultsPM\r\n} from \"./ChallengeResultsListPM\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSingletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n const results = makeChallengeResults(appObjects.getOrCreate(\"Results\"));\r\n\r\n const stateMachine = makeHostStateMachine(\r\n appObjects.getOrCreate(\"StateMachine\")\r\n );\r\n stateMachine.setStates([makeMockHostStateEntity(\"state1\", appObjects)]);\r\n\r\n const pm = makeChallengeResultsPM(appObjects.getOrCreate(\"PM\"));\r\n\r\n return {\r\n pm,\r\n results,\r\n appObjects,\r\n registerSingletonSpy\r\n };\r\n}\r\n\r\nfunction makeChallengeResultVM(id: string): ChallengeResultVM {\r\n return {\r\n attempts: 1,\r\n id,\r\n message: \"a message\",\r\n resultData: {\r\n success: true\r\n },\r\n resultType: \"HIT\",\r\n slideName: \"slide name\",\r\n stateIndex: 0\r\n };\r\n}\r\n\r\ndescribe(\"Challenge Results PM\", () => {\r\n it(\"Gets the singleton\", () => {\r\n const { appObjects, pm } = makeTestRig();\r\n\r\n expect(ChallengeResultsListPM.get(appObjects)).toEqual(pm);\r\n });\r\n\r\n it(\"Registers the singleton\", () => {\r\n const { registerSingletonSpy, pm } = makeTestRig();\r\n\r\n expect(registerSingletonSpy).toBeCalledWith(pm);\r\n });\r\n\r\n it(\"Checks for equal vms\", () => {\r\n const { pm } = makeTestRig();\r\n\r\n const result1 = makeChallengeResultVM(\"result1\");\r\n const result2 = makeChallengeResultVM(\"result2\");\r\n\r\n const vm1 = [result1, result2];\r\n const vm2 = [...vm1];\r\n\r\n expect(pm.vmsAreEqual(vm1, vm2)).toEqual(true);\r\n });\r\n\r\n it(\"Checks for a result to be removed\", () => {\r\n const { pm } = makeTestRig();\r\n\r\n const result1 = makeChallengeResultVM(\"result1\");\r\n const result2 = makeChallengeResultVM(\"result2\");\r\n\r\n const vm1 = [result1, result2];\r\n const vm2 = [result1];\r\n\r\n expect(pm.vmsAreEqual(vm1, vm2)).toEqual(false);\r\n });\r\n\r\n it(\"Checks for a result to be added\", () => {\r\n const { pm } = makeTestRig();\r\n\r\n const result1 = makeChallengeResultVM(\"result1\");\r\n const result2 = makeChallengeResultVM(\"result2\");\r\n\r\n const vm1 = [result1, result2];\r\n\r\n const result3 = makeChallengeResultVM(\"result3\");\r\n const vm2 = [result1, result2, result3];\r\n\r\n expect(pm.vmsAreEqual(vm1, vm2)).toEqual(false);\r\n });\r\n\r\n it(\"Checks for result ID to change\", () => {\r\n const { pm } = makeTestRig();\r\n\r\n const result1 = makeChallengeResultVM(\"result1\");\r\n const result2 = makeChallengeResultVM(\"result2\");\r\n\r\n const vm1 = [result1, result2];\r\n\r\n const result2Again: ChallengeResultVM = { ...result2, id: \"changed\" };\r\n const vm2 = [result1, result2Again];\r\n\r\n expect(pm.vmsAreEqual(vm1, vm2)).toEqual(false);\r\n });\r\n\r\n it(\"Checks for tries to change\", () => {\r\n const { pm } = makeTestRig();\r\n\r\n const result1 = makeChallengeResultVM(\"result1\");\r\n const result2 = makeChallengeResultVM(\"result2\");\r\n\r\n const vm1 = [result1, result2];\r\n\r\n const result2Again: ChallengeResultVM = { ...result2, attempts: 2 };\r\n const vm2 = [result1, result2Again];\r\n\r\n expect(pm.vmsAreEqual(vm1, vm2)).toEqual(false);\r\n });\r\n\r\n it(\"Initializes the view\", () => {\r\n const { pm } = makeTestRig();\r\n expect(pm.lastVM).not.toBeUndefined();\r\n });\r\n\r\n it(\"Updates the results\", () => {\r\n const { results, pm } = makeTestRig();\r\n\r\n results.submitHitResult(\"state1\", false, 0, \"bob\");\r\n\r\n expect(pm.lastVM).toEqual([\r\n {\r\n attempts: 0,\r\n message: \"bob\",\r\n resultData: {\r\n success: false\r\n },\r\n resultType: \"HIT\",\r\n id: \"state1\",\r\n slideName: \"State Name\",\r\n stateIndex: 0\r\n }\r\n ]);\r\n });\r\n});\r\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HasChallengeResultsPM = void 0;
|
|
4
|
+
exports.makeHasChallengeResultsPM = makeHasChallengeResultsPM;
|
|
5
|
+
const core_1 = require("@vived/core");
|
|
6
|
+
const Entities_1 = require("../Entities");
|
|
7
|
+
class HasChallengeResultsPM extends core_1.AppObjectPM {
|
|
8
|
+
static get(appObjects) {
|
|
9
|
+
return (0, core_1.getSingletonComponent)(HasChallengeResultsPM.type, appObjects);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.HasChallengeResultsPM = HasChallengeResultsPM;
|
|
13
|
+
HasChallengeResultsPM.type = "HasChallengeResultsPM";
|
|
14
|
+
function makeHasChallengeResultsPM(appObject) {
|
|
15
|
+
return new HasChallengeResultsPMImp(appObject);
|
|
16
|
+
}
|
|
17
|
+
class HasChallengeResultsPMImp extends HasChallengeResultsPM {
|
|
18
|
+
get resultsEntity() {
|
|
19
|
+
return this.getCachedSingleton(Entities_1.ChallengeResultsEntity.type);
|
|
20
|
+
}
|
|
21
|
+
vmsAreEqual(a, b) {
|
|
22
|
+
return a === b;
|
|
23
|
+
}
|
|
24
|
+
constructor(appObject) {
|
|
25
|
+
super(appObject, HasChallengeResultsPM.type);
|
|
26
|
+
this.onEntityChange = () => {
|
|
27
|
+
if (!this.resultsEntity)
|
|
28
|
+
return;
|
|
29
|
+
const hasAssessmentResults = this.resultsEntity.results?.length > 0 || false;
|
|
30
|
+
this.doUpdateView(hasAssessmentResults);
|
|
31
|
+
};
|
|
32
|
+
this.appObjects.registerSingleton(this);
|
|
33
|
+
this.resultsEntity?.addChangeObserver(this.onEntityChange);
|
|
34
|
+
this.onEntityChange();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=HasChallengeResultsPM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HasChallengeResultsPM.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/HasChallengeResultsPM.ts"],"names":[],"mappings":";;;AAmBA,8DAIC;AAvBD,sCAKqB;AACrB,0CAAqD;AAErD,MAAsB,qBAAsB,SAAQ,kBAAoB;IAGtE,MAAM,CAAC,GAAG,CAAC,UAAyB;QAClC,OAAO,IAAA,4BAAqB,EAC1B,qBAAqB,CAAC,IAAI,EAC1B,UAAU,CACX,CAAC;IACJ,CAAC;;AARH,sDASC;AARQ,0BAAI,GAAG,uBAAuB,CAAC;AAUxC,SAAgB,yBAAyB,CACvC,SAAoB;IAEpB,OAAO,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,wBAAyB,SAAQ,qBAAqB;IAC1D,IAAY,aAAa;QACvB,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iCAAsB,CAAC,IAAI,CAC5B,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,CAAU,EAAE,CAAU;QAChC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAWD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAVvC,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,aAAa;gBAAE,OAAO;YAEhC,MAAM,oBAAoB,GACxB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC;YAElD,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC,CAAC;QAKA,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;CACF","sourcesContent":["import {\r\n\tAppObject,\r\n\tAppObjectPM,\r\n\tAppObjectRepo,\r\n\tgetSingletonComponent\r\n} from \"@vived/core\";\r\nimport { ChallengeResultsEntity } from \"../Entities\";\r\n\r\nexport abstract class HasChallengeResultsPM extends AppObjectPM<boolean> {\r\n static type = \"HasChallengeResultsPM\";\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<HasChallengeResultsPM>(\r\n HasChallengeResultsPM.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\nexport function makeHasChallengeResultsPM(\r\n appObject: AppObject\r\n): HasChallengeResultsPM {\r\n return new HasChallengeResultsPMImp(appObject);\r\n}\r\n\r\nclass HasChallengeResultsPMImp extends HasChallengeResultsPM {\r\n private get resultsEntity() {\r\n return this.getCachedSingleton<ChallengeResultsEntity>(\r\n ChallengeResultsEntity.type\r\n );\r\n }\r\n\r\n vmsAreEqual(a: boolean, b: boolean): boolean {\r\n return a === b;\r\n }\r\n\r\n private onEntityChange = (): void => {\r\n if (!this.resultsEntity) return;\r\n\r\n const hasAssessmentResults =\r\n this.resultsEntity.results?.length > 0 || false;\r\n\r\n this.doUpdateView(hasAssessmentResults);\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, HasChallengeResultsPM.type);\r\n\r\n this.appObjects.registerSingleton(this);\r\n this.resultsEntity?.addChangeObserver(this.onEntityChange);\r\n this.onEntityChange();\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@vived/core");
|
|
4
|
+
const HasChallengeResultsPM_1 = require("./HasChallengeResultsPM");
|
|
5
|
+
const Entities_1 = require("../Entities");
|
|
6
|
+
function makeTestRig() {
|
|
7
|
+
const appObjects = (0, core_1.makeAppObjectRepo)();
|
|
8
|
+
const registerSingletonSpy = jest.spyOn(appObjects, "registerSingleton");
|
|
9
|
+
const results = (0, Entities_1.makeChallengeResults)(appObjects.getOrCreate("ChallengeResults"));
|
|
10
|
+
const pm = (0, HasChallengeResultsPM_1.makeHasChallengeResultsPM)(appObjects.getOrCreate("PM"));
|
|
11
|
+
return { appObjects, pm, registerSingletonSpy, results };
|
|
12
|
+
}
|
|
13
|
+
describe("HasChallengeResultsPM", () => {
|
|
14
|
+
it("Gets the singleton", () => {
|
|
15
|
+
const { pm, appObjects } = makeTestRig();
|
|
16
|
+
expect(HasChallengeResultsPM_1.HasChallengeResultsPM.get(appObjects)).toEqual(pm);
|
|
17
|
+
});
|
|
18
|
+
it("Registers the singleton", () => {
|
|
19
|
+
const { pm, registerSingletonSpy } = makeTestRig();
|
|
20
|
+
expect(registerSingletonSpy).toBeCalledWith(pm);
|
|
21
|
+
});
|
|
22
|
+
it("Initialize with default VM", () => {
|
|
23
|
+
const { pm } = makeTestRig();
|
|
24
|
+
expect(pm.lastVM).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
it("when results change the VM is updated", () => {
|
|
27
|
+
const { results, pm } = makeTestRig();
|
|
28
|
+
results.submitHitResult("1", false, 0, "bob");
|
|
29
|
+
expect(pm.lastVM).toBe(true);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=HasChallengeResultsPM.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HasChallengeResultsPM.test.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/HasChallengeResultsPM.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAEhD,mEAGiC;AACjC,0CAAmD;AAEnD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,IAAA,+BAAoB,EAClC,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAC3C,CAAC;IACF,MAAM,EAAE,GAAG,IAAA,iDAAyB,EAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,MAAM,CAAC,6CAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,EAAE,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,CAAC;QAEnD,MAAM,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAEtC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\n\r\nimport {\r\n\tHasChallengeResultsPM,\r\n\tmakeHasChallengeResultsPM\r\n} from \"./HasChallengeResultsPM\";\r\nimport { makeChallengeResults } from \"../Entities\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const registerSingletonSpy = jest.spyOn(appObjects, \"registerSingleton\");\r\n\r\n const results = makeChallengeResults(\r\n appObjects.getOrCreate(\"ChallengeResults\")\r\n );\r\n const pm = makeHasChallengeResultsPM(appObjects.getOrCreate(\"PM\"));\r\n\r\n return { appObjects, pm, registerSingletonSpy, results };\r\n}\r\n\r\ndescribe(\"HasChallengeResultsPM\", () => {\r\n it(\"Gets the singleton\", () => {\r\n const { pm, appObjects } = makeTestRig();\r\n\r\n expect(HasChallengeResultsPM.get(appObjects)).toEqual(pm);\r\n });\r\n\r\n it(\"Registers the singleton\", () => {\r\n const { pm, registerSingletonSpy } = makeTestRig();\r\n\r\n expect(registerSingletonSpy).toBeCalledWith(pm);\r\n });\r\n\r\n it(\"Initialize with default VM\", () => {\r\n const { pm } = makeTestRig();\r\n\r\n expect(pm.lastVM).toBe(false);\r\n });\r\n\r\n it(\"when results change the VM is updated\", () => {\r\n const { results, pm } = makeTestRig();\r\n\r\n results.submitHitResult(\"1\", false, 0, \"bob\");\r\n\r\n expect(pm.lastVM).toBe(true);\r\n });\r\n});\r\n"]}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./ChallengeResultsListPM"), exports);
|
|
18
|
+
__exportStar(require("./HasChallengeResultsPM"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAwC","sourcesContent":["export * from \"./ChallengeResultsListPM\""]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ChallengeResults/PMs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAwC;AACxC,0DAAuC","sourcesContent":["export * from \"./ChallengeResultsListPM\"\r\nexport * from \"./HasChallengeResultsPM\""]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hostStateAdapter = void 0;
|
|
4
|
+
const HostStatePM_1 = require("../PMs/HostStatePM");
|
|
5
|
+
exports.hostStateAdapter = {
|
|
6
|
+
defaultVM: HostStatePM_1.HostStatePM.defaultVM,
|
|
7
|
+
subscribe: (id, appObjects, setVM) => {
|
|
8
|
+
if (!id) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const pm = HostStatePM_1.HostStatePM.getById(id, appObjects);
|
|
12
|
+
if (!pm) {
|
|
13
|
+
appObjects.submitError("hostStateAdapter", `Unable to find HostStatePM for ID: ${id}`);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
pm.addView(setVM);
|
|
17
|
+
},
|
|
18
|
+
unsubscribe: (id, appObjects, setVM) => {
|
|
19
|
+
if (!id)
|
|
20
|
+
return;
|
|
21
|
+
HostStatePM_1.HostStatePM.getById(id, appObjects)?.removeView(setVM);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=hostStateAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostStateAdapter.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/hostStateAdapter.ts"],"names":[],"mappings":";;;AACA,oDAA8D;AAEjD,QAAA,gBAAgB,GAA2B;IACtD,SAAS,EAAE,yBAAW,CAAC,SAAS;IAChC,SAAS,EAAE,CACT,EAAU,EACV,UAAyB,EACzB,KAAgC,EAChC,EAAE;QACF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,yBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,UAAU,CAAC,WAAW,CACpB,kBAAkB,EAClB,sCAAsC,EAAE,EAAE,CAC3C,CAAC;YACF,OAAO;QACT,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,WAAW,EAAE,CACX,EAAU,EACV,UAAyB,EACzB,KAAgC,EAChC,EAAE;QACF,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,yBAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;CACF,CAAC","sourcesContent":["import { AppObjectRepo, PmAdapter } from \"@vived/core\";\r\nimport { HostStatePM, HostStateVM } from \"../PMs/HostStatePM\";\r\n\r\nexport const hostStateAdapter: PmAdapter<HostStateVM> = {\r\n defaultVM: HostStatePM.defaultVM,\r\n subscribe: (\r\n id: string,\r\n appObjects: AppObjectRepo,\r\n setVM: (vm: HostStateVM) => void\r\n ) => {\r\n if (!id) {\r\n return;\r\n }\r\n\r\n const pm = HostStatePM.getById(id, appObjects);\r\n if (!pm) {\r\n appObjects.submitError(\r\n \"hostStateAdapter\",\r\n `Unable to find HostStatePM for ID: ${id}`\r\n );\r\n return;\r\n }\r\n\r\n pm.addView(setVM);\r\n },\r\n unsubscribe: (\r\n id: string,\r\n appObjects: AppObjectRepo,\r\n setVM: (vm: HostStateVM) => void\r\n ) => {\r\n if (!id) return;\r\n\r\n HostStatePM.getById(id, appObjects)?.removeView(setVM);\r\n }\r\n};\r\n"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@vived/core");
|
|
4
|
+
const HostStatePM_1 = require("../PMs/HostStatePM");
|
|
5
|
+
const hostStateAdapter_1 = require("./hostStateAdapter");
|
|
6
|
+
const MockHostStatePM_1 = require("../Mocks/MockHostStatePM");
|
|
7
|
+
describe("hostStateAdapter", () => {
|
|
8
|
+
let appObjects;
|
|
9
|
+
let appObject;
|
|
10
|
+
let mockPM;
|
|
11
|
+
const testId = "test-state-id";
|
|
12
|
+
const setVM = jest.fn();
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
appObjects = (0, core_1.makeAppObjectRepo)();
|
|
15
|
+
appObject = appObjects.getOrCreate(testId);
|
|
16
|
+
// Create the mock PM instead of a real one
|
|
17
|
+
mockPM = (0, MockHostStatePM_1.makeMockHostStatePM)(appObject);
|
|
18
|
+
// Reset the mock function before each test
|
|
19
|
+
setVM.mockReset();
|
|
20
|
+
});
|
|
21
|
+
it("should provide the default VM from HostStatePM", () => {
|
|
22
|
+
expect(hostStateAdapter_1.hostStateAdapter.defaultVM).toEqual(HostStatePM_1.HostStatePM.defaultVM);
|
|
23
|
+
});
|
|
24
|
+
it("should add a view on subscribe", () => {
|
|
25
|
+
const addViewSpy = jest.spyOn(mockPM, "addView");
|
|
26
|
+
hostStateAdapter_1.hostStateAdapter.subscribe(testId, appObjects, setVM);
|
|
27
|
+
expect(addViewSpy).toHaveBeenCalledWith(setVM);
|
|
28
|
+
});
|
|
29
|
+
it("should remove a view on unsubscribe", () => {
|
|
30
|
+
const removeViewSpy = jest.spyOn(mockPM, "removeView");
|
|
31
|
+
hostStateAdapter_1.hostStateAdapter.unsubscribe(testId, appObjects, setVM);
|
|
32
|
+
expect(removeViewSpy).toHaveBeenCalledWith(setVM);
|
|
33
|
+
});
|
|
34
|
+
it("should handle missing PM on subscribe", () => {
|
|
35
|
+
// Create a new AppObjectRepo without the PM
|
|
36
|
+
const emptyAppObjects = (0, core_1.makeAppObjectRepo)();
|
|
37
|
+
emptyAppObjects.submitError = jest.fn();
|
|
38
|
+
// Using an ID that doesn't have a PM
|
|
39
|
+
hostStateAdapter_1.hostStateAdapter.subscribe(testId, emptyAppObjects, setVM);
|
|
40
|
+
expect(emptyAppObjects.submitError).toHaveBeenCalledWith("hostStateAdapter", expect.stringContaining("Unable to find HostStatePM"));
|
|
41
|
+
});
|
|
42
|
+
it("should handle missing PM on unsubscribe without error", () => {
|
|
43
|
+
// This should not throw an error
|
|
44
|
+
expect(() => {
|
|
45
|
+
hostStateAdapter_1.hostStateAdapter.unsubscribe("non-existent", appObjects, setVM);
|
|
46
|
+
}).not.toThrow();
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=hostStateAdapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostStateAdapter.test.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/hostStateAdapter.test.ts"],"names":[],"mappings":";;AAAA,sCAA0E;AAC1E,oDAAiD;AACjD,yDAAsD;AACtD,8DAAgF;AAEhF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,UAAyB,CAAC;IAC9B,IAAI,SAAoB,CAAC;IACzB,IAAI,MAAuB,CAAC;IAC5B,MAAM,MAAM,GAAG,eAAe,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAExB,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;QACjC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE3C,2CAA2C;QAC3C,MAAM,GAAG,IAAA,qCAAmB,EAAC,SAAS,CAAC,CAAC;QAExC,2CAA2C;QAC3C,KAAK,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,mCAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,yBAAW,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEjD,mCAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAEtD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAEvD,mCAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAExD,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,4CAA4C;QAC5C,MAAM,eAAe,GAAG,IAAA,wBAAiB,GAAE,CAAC;QAC5C,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAExC,qCAAqC;QACrC,mCAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QAE3D,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,oBAAoB,CACtD,kBAAkB,EAClB,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,iCAAiC;QACjC,MAAM,CAAC,GAAG,EAAE;YACV,mCAAgB,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { AppObject, AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\r\nimport { HostStatePM } from \"../PMs/HostStatePM\";\r\nimport { hostStateAdapter } from \"./hostStateAdapter\";\r\nimport { MockHostStatePM, makeMockHostStatePM } from \"../Mocks/MockHostStatePM\";\r\n\r\ndescribe(\"hostStateAdapter\", () => {\r\n let appObjects: AppObjectRepo;\r\n let appObject: AppObject;\r\n let mockPM: MockHostStatePM;\r\n const testId = \"test-state-id\";\r\n const setVM = jest.fn();\r\n\r\n beforeEach(() => {\r\n appObjects = makeAppObjectRepo();\r\n appObject = appObjects.getOrCreate(testId);\r\n\r\n // Create the mock PM instead of a real one\r\n mockPM = makeMockHostStatePM(appObject);\r\n\r\n // Reset the mock function before each test\r\n setVM.mockReset();\r\n });\r\n\r\n it(\"should provide the default VM from HostStatePM\", () => {\r\n expect(hostStateAdapter.defaultVM).toEqual(HostStatePM.defaultVM);\r\n });\r\n\r\n it(\"should add a view on subscribe\", () => {\r\n const addViewSpy = jest.spyOn(mockPM, \"addView\");\r\n\r\n hostStateAdapter.subscribe(testId, appObjects, setVM);\r\n\r\n expect(addViewSpy).toHaveBeenCalledWith(setVM);\r\n });\r\n\r\n it(\"should remove a view on unsubscribe\", () => {\r\n const removeViewSpy = jest.spyOn(mockPM, \"removeView\");\r\n\r\n hostStateAdapter.unsubscribe(testId, appObjects, setVM);\r\n\r\n expect(removeViewSpy).toHaveBeenCalledWith(setVM);\r\n });\r\n\r\n it(\"should handle missing PM on subscribe\", () => {\r\n // Create a new AppObjectRepo without the PM\r\n const emptyAppObjects = makeAppObjectRepo();\r\n emptyAppObjects.submitError = jest.fn();\r\n\r\n // Using an ID that doesn't have a PM\r\n hostStateAdapter.subscribe(testId, emptyAppObjects, setVM);\r\n\r\n expect(emptyAppObjects.submitError).toHaveBeenCalledWith(\r\n \"hostStateAdapter\",\r\n expect.stringContaining(\"Unable to find HostStatePM\")\r\n );\r\n });\r\n\r\n it(\"should handle missing PM on unsubscribe without error\", () => {\r\n // This should not throw an error\r\n expect(() => {\r\n hostStateAdapter.unsubscribe(\"non-existent\", appObjects, setVM);\r\n }).not.toThrow();\r\n });\r\n});\r\n"]}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./editingStateAdapter"), exports);
|
|
18
18
|
__exportStar(require("./hostStateMachinePMAdapter"), exports);
|
|
19
|
+
__exportStar(require("./hostStateAdapter"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,8DAA4C","sourcesContent":["export * from \"./editingStateAdapter\";\r\nexport * from \"./hostStateMachinePMAdapter\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,8DAA4C;AAC5C,qDAAmC","sourcesContent":["export * from \"./editingStateAdapter\";\r\nexport * from \"./hostStateMachinePMAdapter\";\r\nexport * from \"./hostStateAdapter\";\r\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.editStateName = editStateName;
|
|
4
|
+
const EditStateNameUC_1 = require("../UCs/EditStateNameUC");
|
|
5
|
+
function editStateName(name, id, appObjects) {
|
|
6
|
+
const uc = EditStateNameUC_1.EditStateNameUC.getById(id, appObjects);
|
|
7
|
+
if (!uc) {
|
|
8
|
+
appObjects.submitWarning("editStateName", "Unable to find EditStateNameUC");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
uc.editStateName(name);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=editStateName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editStateName.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editStateName.ts"],"names":[],"mappings":";;AAGA,sCAYC;AAdD,4DAAyD;AAEzD,SAAgB,aAAa,CAC3B,IAAY,EACZ,EAAU,EACV,UAAyB;IAEzB,MAAM,EAAE,GAAG,iCAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CAAC,eAAe,EAAE,gCAAgC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { EditStateNameUC } from \"../UCs/EditStateNameUC\";\r\n\r\nexport function editStateName(\r\n name: string,\r\n id: string,\r\n appObjects: AppObjectRepo\r\n) {\r\n const uc = EditStateNameUC.getById(id, appObjects);\r\n if (!uc) {\r\n appObjects.submitWarning(\"editStateName\", \"Unable to find EditStateNameUC\");\r\n return;\r\n }\r\n\r\n uc.editStateName(name);\r\n}\r\n"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@vived/core");
|
|
4
|
+
const MockEditStateNameUC_1 = require("../Mocks/MockEditStateNameUC");
|
|
5
|
+
const editStateName_1 = require("./editStateName");
|
|
6
|
+
describe("editStateName", () => {
|
|
7
|
+
let appObjects;
|
|
8
|
+
let mockUC;
|
|
9
|
+
let mockEditFunction;
|
|
10
|
+
const testId = "test-state-id";
|
|
11
|
+
const testName = "New State Name";
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
// Create a fresh repository for each test
|
|
14
|
+
appObjects = (0, core_1.makeAppObjectRepo)();
|
|
15
|
+
const testAppObject = appObjects.getOrCreate(testId);
|
|
16
|
+
// Create the mock UC
|
|
17
|
+
mockUC = new MockEditStateNameUC_1.MockEditStateNameUC(testAppObject);
|
|
18
|
+
// Setup the spy on the mock function
|
|
19
|
+
mockEditFunction = jest.fn();
|
|
20
|
+
mockUC.editStateName = mockEditFunction;
|
|
21
|
+
});
|
|
22
|
+
it("should call EditStateNameUC with the provided name", () => {
|
|
23
|
+
// Call the controller function
|
|
24
|
+
(0, editStateName_1.editStateName)(testName, testId, appObjects);
|
|
25
|
+
// Verify the use case was called with the correct name
|
|
26
|
+
expect(mockEditFunction).toBeCalledWith(testName);
|
|
27
|
+
});
|
|
28
|
+
it("should do nothing when UC cannot be found", () => {
|
|
29
|
+
// Call with an ID that doesn't have the UC
|
|
30
|
+
const nonExistentId = "non-existent-id";
|
|
31
|
+
// This should not throw an error
|
|
32
|
+
expect(() => {
|
|
33
|
+
(0, editStateName_1.editStateName)(testName, nonExistentId, appObjects);
|
|
34
|
+
}).not.toThrow();
|
|
35
|
+
// Verify our original mock wasn't called
|
|
36
|
+
expect(mockEditFunction).not.toHaveBeenCalled();
|
|
37
|
+
});
|
|
38
|
+
it("should submit a warning when UC is not found", () => {
|
|
39
|
+
// Spy on the warning submission method
|
|
40
|
+
const submitWarningSpy = jest.spyOn(appObjects, "submitWarning");
|
|
41
|
+
// Call the controller function with a non-existent ID
|
|
42
|
+
(0, editStateName_1.editStateName)(testName, "non-existent-id", appObjects);
|
|
43
|
+
// Verify warning was submitted
|
|
44
|
+
expect(submitWarningSpy).toHaveBeenCalledWith("editStateName", "Unable to find EditStateNameUC");
|
|
45
|
+
// Verify that the edit function was not called
|
|
46
|
+
expect(mockEditFunction).not.toHaveBeenCalled();
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=editStateName.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editStateName.test.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/editStateName.test.ts"],"names":[],"mappings":";;AAAA,sCAA+D;AAC/D,sEAAkE;AAClE,mDAAgD;AAEhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,IAAI,UAAyB,CAAC;IAC9B,IAAI,MAA2B,CAAC;IAChC,IAAI,gBAA2B,CAAC;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC;IAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACf,0CAA0C;QAC1C,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;QACjC,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAErD,qBAAqB;QACrB,MAAM,GAAG,IAAI,yCAAmB,CAAC,aAAa,CAAC,CAAC;QAEhD,qCAAqC;QACrC,gBAAgB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,aAAa,GAAG,gBAAgB,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC7D,+BAA+B;QAC/B,IAAA,6BAAa,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAE5C,uDAAuD;QACvD,MAAM,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACpD,2CAA2C;QAC3C,MAAM,aAAa,GAAG,iBAAiB,CAAC;QAExC,iCAAiC;QACjC,MAAM,CAAC,GAAG,EAAE;YACX,IAAA,6BAAa,EAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAEjB,yCAAyC;QACzC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACvD,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAEjE,sDAAsD;QACtD,IAAA,6BAAa,EAAC,QAAQ,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAEvD,+BAA+B;QAC/B,MAAM,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAC5C,eAAe,EACf,gCAAgC,CAChC,CAAC;QAEF,+CAA+C;QAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import { AppObjectRepo, makeAppObjectRepo } from \"@vived/core\";\r\nimport {MockEditStateNameUC } from \"../Mocks/MockEditStateNameUC\";\r\nimport { editStateName } from \"./editStateName\";\r\n\r\ndescribe(\"editStateName\", () => {\r\n\tlet appObjects: AppObjectRepo;\r\n\tlet mockUC: MockEditStateNameUC;\r\n\tlet mockEditFunction: jest.Mock;\r\n\tconst testId = \"test-state-id\";\r\n\tconst testName = \"New State Name\";\r\n\r\n\tbeforeEach(() => {\r\n\t\t// Create a fresh repository for each test\r\n\t\tappObjects = makeAppObjectRepo();\r\n\t\tconst testAppObject = appObjects.getOrCreate(testId);\r\n\r\n\t\t// Create the mock UC\r\n\t\tmockUC = new MockEditStateNameUC(testAppObject);\r\n\t\t\r\n\t\t// Setup the spy on the mock function\r\n\t\tmockEditFunction = jest.fn();\r\n\t\tmockUC.editStateName = mockEditFunction;\r\n\t});\r\n\r\n\tit(\"should call EditStateNameUC with the provided name\", () => {\r\n\t\t// Call the controller function\r\n\t\teditStateName(testName, testId, appObjects);\r\n\r\n\t\t// Verify the use case was called with the correct name\r\n\t\texpect(mockEditFunction).toBeCalledWith(testName);\r\n\t});\r\n\r\n\tit(\"should do nothing when UC cannot be found\", () => {\r\n\t\t// Call with an ID that doesn't have the UC\r\n\t\tconst nonExistentId = \"non-existent-id\";\r\n\r\n\t\t// This should not throw an error\r\n\t\texpect(() => {\r\n\t\t\teditStateName(testName, nonExistentId, appObjects);\r\n\t\t}).not.toThrow();\r\n\r\n\t\t// Verify our original mock wasn't called\r\n\t\texpect(mockEditFunction).not.toHaveBeenCalled();\r\n\t});\r\n\r\n\tit(\"should submit a warning when UC is not found\", () => {\r\n\t\t// Spy on the warning submission method\r\n\t\tconst submitWarningSpy = jest.spyOn(appObjects, \"submitWarning\");\r\n\r\n\t\t// Call the controller function with a non-existent ID\r\n\t\teditStateName(testName, \"non-existent-id\", appObjects);\r\n\r\n\t\t// Verify warning was submitted\r\n\t\texpect(submitWarningSpy).toHaveBeenCalledWith(\r\n\t\t\t\"editStateName\",\r\n\t\t\t\"Unable to find EditStateNameUC\"\r\n\t\t);\r\n\r\n\t\t// Verify that the edit function was not called\r\n\t\texpect(mockEditFunction).not.toHaveBeenCalled();\r\n\t});\r\n});\r\n"]}
|
|
@@ -20,6 +20,7 @@ __exportStar(require("./deleteState"), exports);
|
|
|
20
20
|
__exportStar(require("./duplicateState"), exports);
|
|
21
21
|
__exportStar(require("./editActiveState"), exports);
|
|
22
22
|
__exportStar(require("./editState"), exports);
|
|
23
|
+
__exportStar(require("./editStateName"), exports);
|
|
23
24
|
__exportStar(require("./endActivity"), exports);
|
|
24
25
|
__exportStar(require("./newState"), exports);
|
|
25
26
|
__exportStar(require("./saveAuthoring"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC;AAClC,8CAA4B;AAC5B,gDAA8B;AAC9B,6CAA2B;AAC3B,kDAAgC;AAChC,sDAAoC;AACpC,yDAAuC","sourcesContent":["export * from \"./cancelEditing\";\r\nexport * from \"./consumeState\";\r\nexport * from \"./deleteState\";\r\nexport * from \"./duplicateState\";\r\nexport * from \"./editActiveState\";\r\nexport * from \"./editState\";\r\nexport * from \"./endActivity\";\r\nexport * from \"./newState\";\r\nexport * from \"./saveAuthoring\";\r\nexport * from \"./transitionToState\";\r\nexport * from \"./savePersistentStates\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/StateMachine/Controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC;AACjC,oDAAkC;AAClC,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,kDAAgC;AAChC,sDAAoC;AACpC,yDAAuC","sourcesContent":["export * from \"./cancelEditing\";\r\nexport * from \"./consumeState\";\r\nexport * from \"./deleteState\";\r\nexport * from \"./duplicateState\";\r\nexport * from \"./editActiveState\";\r\nexport * from \"./editState\";\r\nexport * from \"./editStateName\";\r\nexport * from \"./endActivity\";\r\nexport * from \"./newState\";\r\nexport * from \"./saveAuthoring\";\r\nexport * from \"./transitionToState\";\r\nexport * from \"./savePersistentStates\";\r\n"]}
|