1 | const test = require('tape')
|
2 | const ploy = require('../')
|
3 |
|
4 | test('use after property', t => {
|
5 | ploy.get('tasks', {}).set({
|
6 | afterOneAndTwo: {
|
7 | val: () => new Promise(resolve => resolve({ done: true })),
|
8 | after: [ 'one', 'two' ]
|
9 | },
|
10 | one: () => new Promise(resolve => {
|
11 | resolve({
|
12 | done: true
|
13 | })
|
14 | }),
|
15 | two: () => new Promise(resolve => setTimeout(() => resolve({ done: true }), 100))
|
16 | })
|
17 |
|
18 | t.plan(2)
|
19 |
|
20 | ploy.get(['tasks', 'one', 'done'], {})
|
21 | .once(done => done.compute())
|
22 | .then(val => {
|
23 | t.notEquals(
|
24 | typeof ploy.get(['tasks', 'afterOneAndTwo', 'done', 'compute']),
|
25 | 'number',
|
26 | 'afterOneAndTwo did not exec before one'
|
27 | )
|
28 | ploy.get(['tasks', 'two', 'done'], {})
|
29 | .once(done => done.compute())
|
30 | .then(val => t.equals(
|
31 | typeof ploy.get(['tasks', 'afterOneAndTwo', 'done', 'compute']),
|
32 | 'number',
|
33 | 'afterOneAndTwo execs after two'
|
34 | ))
|
35 | .then(() => ploy.tasks.set({}, false, true))
|
36 | })
|
37 | })
|
38 |
|
39 | // test('use serialize + after', { timeout: 500 }, t => {
|
40 | // t.plan(1)
|
41 |
|
42 | // ploy.get('tasks', {}).set({
|
43 | // one: () => new Promise(resolve => resolve({
|
44 | // result: 'xxx',
|
45 | // done: true
|
46 | // })),
|
47 | // two: {
|
48 | // val: task => new Promise(resolve => resolve({
|
49 | // result: task.get('options', {}).serialize(true),
|
50 | // done: true
|
51 | // })),
|
52 | // options: {
|
53 | // val: [ '@', 'root', 'tasks', 'one', 'result' ],
|
54 | // $transform: val => val + '!'
|
55 | // },
|
56 | // after: [ 'one' ]
|
57 | // }
|
58 | // })
|
59 |
|
60 | // ploy.get(['tasks', 'two', 'result'], {})
|
61 | // .once(val => val.val === 'xxx!')
|
62 | // .then(() => t.pass('correct output'))
|
63 | // })
|
64 |
|
65 | // test('use after paths', { timeout: 500 }, t => {
|
66 | // t.plan(1)
|
67 |
|
68 | // ploy.get('tasks', {}).set({
|
69 | // bla: {
|
70 | // tasks: {
|
71 | // one: () => new Promise(resolve => resolve({
|
72 | // result: 'xxx',
|
73 | // done: true
|
74 | // }))
|
75 | // }
|
76 | // },
|
77 | // foo: {
|
78 | // val: task => new Promise(resolve => resolve({
|
79 | // result: task.get('options', {}).serialize(true),
|
80 | // done: true
|
81 | // })),
|
82 | // options: {
|
83 | // val: [ '@', 'root', 'tasks', 'bla', 'tasks', 'one', 'result' ],
|
84 | // $transform: val => val + '!'
|
85 | // },
|
86 | // after: [ ['bla', 'tasks', 'one'] ]
|
87 | // }
|
88 | // })
|
89 |
|
90 | // ploy.get(['tasks', 'foo', 'result'], {})
|
91 | // .once(val => val.val === 'xxx!')
|
92 | // .then(() => t.pass('correct output'))
|
93 | // }) |
\ | No newline at end of file |