Diff to HTML by rtfpessoa

template-skip-remaining-hooks.integ.test.js → skip-remaining-hooks.integ.test.js RENAMED
@@ -1,21 +1,23 @@
1
2
const assert = require('assert');
3
const feathers = require('@feathersjs/feathers');
4
- const { join } = require('path');
5
- const { readJsonFileSync } = require('@feathers-plus/test-utils');
6
const skipRemainingHooks = require('../../src/hooks/skip-remaining-hooks');
7
8
- // Get generated fake data
9
- // eslint-disable-next-line no-unused-vars
10
- const fakeData = readJsonFileSync(join(__dirname, '../../seeds/fake-data.json')) || {};
11
-
12
describe('Test /hooks/skip-remaining-hooks.integ.test.js', () => {
13
- let app, params;
14
// eslint-disable-next-line no-unused-vars
15
let service;
16
17
beforeEach(() => {
18
app = feathers();
19
20
app.use('/test-service', {
21
async create(data) {
@@ -25,13 +27,24 @@
25
26
app.service('/test-service').hooks({
27
before: {
28
- create: skipRemainingHooks()
29
}
30
});
31
32
service = app.service('/test-service');
33
params = {
34
- user: (fakeData['users'] || [])[0] || {
35
email: 'test@example.com'
36
}
37
@@ -43,18 +56,15 @@
43
assert(typeof skipRemainingHooks === 'function', 'Hook is not a function.');
44
});
45
46
- it('???', async () => {
47
- params.provider = undefined;
48
- assert(true);
49
-
50
- /*
51
const result = await service.create({
52
-
53
}, params);
54
55
- assert.deepEqual(user, {
56
-
57
- }, result);
58
- */
59
});
60
});
1
2
const assert = require('assert');
3
const feathers = require('@feathersjs/feathers');
4
const skipRemainingHooks = require('../../src/hooks/skip-remaining-hooks');
5
6
describe('Test /hooks/skip-remaining-hooks.integ.test.js', () => {
7
+ let app;
8
// eslint-disable-next-line no-unused-vars
9
let service;
10
+ let hooksRun;
11
+
12
+ function setHookRun( name) {
13
+ return () => {
14
+ hooksRun.push(name);
15
+ };
16
+ }
17
18
beforeEach(() => {
19
app = feathers();
20
+ hooksRun = [];
21
22
app.use('/test-service', {
23
async create(data) {
27
28
app.service('/test-service').hooks({
29
before: {
30
+ create: [
31
+ setHookRun('before1'),
32
+ skipRemainingHooks(true),
33
+ setHookRun('before2')
34
+ ]
35
+ },
36
+ after: {
37
+ create: [
38
+ setHookRun('after1'),
39
+ skipRemainingHooks(true),
40
+ setHookRun('after2')
41
+ ]
42
}
43
});
44
45
service = app.service('/test-service');
46
params = {
47
+ user: {
48
email: 'test@example.com'
49
}
50
56
assert(typeof skipRemainingHooks === 'function', 'Hook is not a function.');
57
});
58
59
+ it('SKIP before skips following before hooks', async () => {
60
const result = await service.create({
61
+ foo: 'bar'
62
}, params);
63
+ assert(!hooksRun.includes('before2'), 'following hooks are run');
64
+ });
65
66
+ it('SKIP before does not skip after hooks', async () => {
67
+ await service.create({ foo: 'bar' });
68
+ assert.deepEqual(hooksRun, ['before1', 'after1']);
69
});
70
});