@vnejs/plugins.save.continue 0.1.11 → 0.1.12
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/package.json +6 -3
- package/src/tests/continue.test.ts +56 -0
- package/src/tests/setup.ts +11 -0
- package/tsconfig.json +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vnejs/plugins.save.continue",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"tsconfig.json"
|
|
19
19
|
],
|
|
20
20
|
"scripts": {
|
|
21
|
-
"test": "
|
|
21
|
+
"test": "npx @vnejs/monorepo test",
|
|
22
22
|
"build": "npx @vnejs/monorepo package",
|
|
23
23
|
"publish:major:plugin": "npm run publish:major",
|
|
24
24
|
"publish:minor:plugin": "npm run publish:minor",
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
"@vnejs/shared": "~0.1.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@vnejs/configs.ts-common": "~0.1.0"
|
|
41
|
+
"@vnejs/configs.ts-common": "~0.1.0",
|
|
42
|
+
"@vnejs/configs.vitest": "~0.1.0",
|
|
43
|
+
"@vnejs/test-utils": "~0.1.0",
|
|
44
|
+
"@vnejs/contracts.save": "~0.1.0"
|
|
42
45
|
}
|
|
43
46
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from "vitest";
|
|
2
|
+
|
|
3
|
+
import { CONSTANTS as STATE_CONST } from "@vnejs/contracts.core.state";
|
|
4
|
+
import { SUBSCRIBE_EVENTS as SAVE_EVENTS } from "@vnejs/contracts.save";
|
|
5
|
+
import { spyEvent, stubEvent } from "@vnejs/test-utils";
|
|
6
|
+
|
|
7
|
+
import { SaveContinue } from "../modules/continue.js";
|
|
8
|
+
import { createSaveContinueTestModule, registerSaveContinuePluginVne, SUBSCRIBE_EVENTS } from "./setup.js";
|
|
9
|
+
|
|
10
|
+
describe("SaveContinue", () => {
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
registerSaveContinuePluginVne();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it("init sets hasContinueSave when migrated save exists", async () => {
|
|
16
|
+
const { module, observer } = createSaveContinueTestModule(SaveContinue, { subscribe: false });
|
|
17
|
+
|
|
18
|
+
stubEvent(observer, SAVE_EVENTS.GET, () => ({ key: "save.continue", state: {}, ts: 1, migrateStatus: STATE_CONST.MIGRATE_STATUS.OK }));
|
|
19
|
+
|
|
20
|
+
await (module as SaveContinue).init();
|
|
21
|
+
|
|
22
|
+
expect((module as SaveContinue).shared.hasContinueSave).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it("init clears hasContinueSave when save is missing", async () => {
|
|
26
|
+
const { module, observer } = createSaveContinueTestModule(SaveContinue, { subscribe: false });
|
|
27
|
+
|
|
28
|
+
stubEvent(observer, SAVE_EVENTS.GET, () => undefined);
|
|
29
|
+
|
|
30
|
+
await (module as SaveContinue).init();
|
|
31
|
+
|
|
32
|
+
expect((module as SaveContinue).shared.hasContinueSave).toBe(false);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it("MAKE creates continue save without screenshot", async () => {
|
|
36
|
+
const { module, observer } = createSaveContinueTestModule(SaveContinue);
|
|
37
|
+
const create = spyEvent(observer, SAVE_EVENTS.CREATE);
|
|
38
|
+
|
|
39
|
+
await observer.emit(SUBSCRIBE_EVENTS.MAKE);
|
|
40
|
+
|
|
41
|
+
expect(create).toHaveBeenCalledExactlyOnceWith({ key: "save.continue", withScreenshot: false });
|
|
42
|
+
expect((module as SaveContinue).shared.hasContinueSave).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("LOAD and PRELOAD delegate to save plugin", async () => {
|
|
46
|
+
const { observer } = createSaveContinueTestModule(SaveContinue);
|
|
47
|
+
const load = spyEvent(observer, SAVE_EVENTS.LOAD);
|
|
48
|
+
const preload = spyEvent(observer, SAVE_EVENTS.PRELOAD);
|
|
49
|
+
|
|
50
|
+
await observer.emit(SUBSCRIBE_EVENTS.LOAD);
|
|
51
|
+
await observer.emit(SUBSCRIBE_EVENTS.PRELOAD);
|
|
52
|
+
|
|
53
|
+
expect(load).toHaveBeenCalledExactlyOnceWith({ key: "save.continue" });
|
|
54
|
+
expect(preload).toHaveBeenCalledExactlyOnceWith({ key: "save.continue" });
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CONSTANTS as SAVE_CONST, PLUGIN_NAME as SAVE, SUBSCRIBE_EVENTS as SAVE_EVENTS } from "@vnejs/contracts.save";
|
|
2
|
+
import { PLUGIN_NAME, SUBSCRIBE_EVENTS } from "@vnejs/contracts.save.continue";
|
|
3
|
+
import { createTestModule, registerCoreVne, registerVnePlugin } from "@vnejs/test-utils";
|
|
4
|
+
|
|
5
|
+
export const registerSaveContinuePluginVne = () => {
|
|
6
|
+
registerCoreVne();
|
|
7
|
+
registerVnePlugin(SAVE, { constants: SAVE_CONST, events: SAVE_EVENTS });
|
|
8
|
+
registerVnePlugin(PLUGIN_NAME, { events: SUBSCRIBE_EVENTS });
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { createTestModule as createSaveContinueTestModule, SUBSCRIBE_EVENTS, SAVE_EVENTS, PLUGIN_NAME };
|
package/tsconfig.json
CHANGED