UNPKG

2.5 kBJavaScriptView Raw
1const test = require('tape')
2const ploy = require('../')
3
4test('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