@unchainedshop/events 2.0.0-beta8 → 2.0.0-beta9
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/jest.config.js +9 -0
- package/package.json +8 -7
- package/tests/events-index.test.ts +3 -76
package/jest.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unchainedshop/events",
|
|
3
|
-
"version": "2.0.0-
|
|
3
|
+
"version": "2.0.0-beta9",
|
|
4
4
|
"main": "lib/events-index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./lib/events-index.js",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"clean": "rm -rf lib",
|
|
13
13
|
"build": "npm run clean && tsc",
|
|
14
14
|
"watch": "tsc -w",
|
|
15
|
-
"test": "jest --
|
|
15
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
|
|
16
|
+
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --detectOpenHandles --forceExit"
|
|
16
17
|
},
|
|
17
18
|
"repository": {
|
|
18
19
|
"type": "git",
|
|
@@ -30,15 +31,15 @@
|
|
|
30
31
|
},
|
|
31
32
|
"homepage": "https://github.com/unchainedshop/unchained#readme",
|
|
32
33
|
"dependencies": {
|
|
33
|
-
"@unchainedshop/logger": "^2.0.0-
|
|
34
|
+
"@unchainedshop/logger": "^2.0.0-beta9",
|
|
34
35
|
"redis": "^4.5.1"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
|
-
"@types/jest": "^29.2.
|
|
38
|
-
"@types/node": "^18.11.
|
|
39
|
-
"@unchainedshop/types": "^2.0.0-
|
|
38
|
+
"@types/jest": "^29.2.4",
|
|
39
|
+
"@types/node": "^18.11.12",
|
|
40
|
+
"@unchainedshop/types": "^2.0.0-beta9",
|
|
40
41
|
"jest": "^29.3.1",
|
|
41
42
|
"ts-jest": "^29.0.3",
|
|
42
|
-
"typescript": "^4.9.
|
|
43
|
+
"typescript": "^4.9.4"
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -1,78 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
getEmitAdapter,
|
|
5
|
-
getEmitHistoryAdapter,
|
|
6
|
-
getRegisteredEvents,
|
|
7
|
-
registerEvents,
|
|
8
|
-
setEmitAdapter,
|
|
9
|
-
setEmitHistoryAdapter,
|
|
10
|
-
} from '../src/events-index';
|
|
11
|
-
import { log } from '@unchainedshop/logger';
|
|
12
|
-
import { EmitAdapter } from '@unchainedshop/types/events';
|
|
13
|
-
|
|
14
|
-
const subscribedEvents = new Set();
|
|
15
|
-
|
|
16
|
-
const TestEventEmitter: EmitAdapter = {
|
|
17
|
-
publish: (eventName, payload) => log(eventName),
|
|
18
|
-
subscribe: (eventName, callback) => {
|
|
19
|
-
if (!subscribedEvents.has(eventName)) {
|
|
20
|
-
log(`Subscribe event: ${eventName}`);
|
|
21
|
-
subscribedEvents.add(eventName);
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
describe('Test exports', () => {
|
|
27
|
-
it('Check registered events', () => {
|
|
28
|
-
let registeredEvents = getRegisteredEvents();
|
|
29
|
-
const NEW_TEST_EVENT_1 = 'new test event 1';
|
|
30
|
-
const NEW_TEST_EVENT_2 = 'new test event 2';
|
|
31
|
-
|
|
32
|
-
assert.isTrue(registeredEvents.length === 1);
|
|
33
|
-
assert.isFalse(registeredEvents.includes(NEW_TEST_EVENT_1));
|
|
34
|
-
assert.isFalse(registeredEvents.includes(NEW_TEST_EVENT_2));
|
|
35
|
-
|
|
36
|
-
registerEvents([NEW_TEST_EVENT_1, NEW_TEST_EVENT_2]);
|
|
37
|
-
|
|
38
|
-
registeredEvents = getRegisteredEvents();
|
|
39
|
-
|
|
40
|
-
assert.isTrue(registeredEvents.length === 3);
|
|
41
|
-
assert.isTrue(registeredEvents.includes(NEW_TEST_EVENT_1));
|
|
42
|
-
assert.isTrue(registeredEvents.includes(NEW_TEST_EVENT_2));
|
|
1
|
+
describe('Worker', () => {
|
|
2
|
+
it('Init', async () => {
|
|
3
|
+
expect(true).toBeTruthy()
|
|
43
4
|
});
|
|
44
|
-
|
|
45
|
-
it('Check set Adapter', () => {
|
|
46
|
-
assert.isUndefined(getEmitAdapter());
|
|
47
|
-
assert.isFunction(setEmitAdapter);
|
|
48
|
-
assert.isFunction(getEmitHistoryAdapter);
|
|
49
|
-
assert.isFunction(setEmitHistoryAdapter);
|
|
50
|
-
|
|
51
|
-
setEmitAdapter(TestEventEmitter);
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it('Check emit global page event', async () => {
|
|
55
|
-
assert.isFunction(emit);
|
|
56
|
-
|
|
57
|
-
await emit('PAGE_VIEW');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it('Check emit event', async () => {
|
|
61
|
-
assert.isFunction(registerEvents);
|
|
62
|
-
|
|
63
|
-
registerEvents(['TEST_EVENT', 'TEST_EVENT_2']);
|
|
64
|
-
await emit('TEST_EVENT');
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
it('Check emit non-existing event', async () => {
|
|
68
|
-
try {
|
|
69
|
-
await emit('I_AM_NOT_REGISTERED_EVENT');
|
|
70
|
-
} catch (e) {
|
|
71
|
-
assert.equal(e.message, 'Event with I_AM_NOT_REGISTERED_EVENT is not registered')
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
assert(false, 'Non-existing event should not be emittable')
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
|
|
78
5
|
});
|