Files: be47c4200236fb818783a444f2a01b0707ec0a46 / test / position / async / chooseOne.test.js
1701 bytesRaw
1 | const test = require('tape') |
2 | var pull = require('pull-stream') |
3 | var pullAsync = require('pull-async') |
4 | const ChooseOne = require('../../../position/async/chooseOne') |
5 | const isPosition = require('../../../isPosition') |
6 | |
7 | test('Position - ChooseOne', function (t) { |
8 | pull( |
9 | pullAsync(cb => { |
10 | ChooseOne({ |
11 | poll: '%t+PhrNxxXkw/jMo6mnwUWfFjJapoPWxzsQoe0Np+nYw=.sha256' |
12 | }, cb) |
13 | }), |
14 | pull.drain((missingChoice) => { |
15 | t.false(isPosition(missingChoice), 'missing a choice') |
16 | }) |
17 | ) |
18 | |
19 | pull( |
20 | pullAsync(cb => { |
21 | ChooseOne({ |
22 | choice: 0 |
23 | }, cb) |
24 | }), |
25 | pull.drain((missingPoll) => { |
26 | t.false(isPosition(missingPoll), 'missing a poll') |
27 | }) |
28 | ) |
29 | |
30 | pull( |
31 | pullAsync(cb => { |
32 | ChooseOne({ |
33 | poll: 'dog?', |
34 | choice: 0 |
35 | }, cb) |
36 | }), |
37 | pull.drain((missingPoll) => { |
38 | t.false(isPosition(missingPoll), 'does not reference a poll') |
39 | }) |
40 | ) |
41 | |
42 | pull( |
43 | pullAsync(cb => { |
44 | ChooseOne({ |
45 | poll: '%t+PhrNxxXkw/jMo6mnwUWfFjJapoPWxzsQoe0Np+nYw=.sha256', |
46 | choice: 0 |
47 | }, cb) |
48 | }), |
49 | pull.drain((poll) => { |
50 | t.true(isPosition(poll), 'simple') |
51 | }) |
52 | ) |
53 | |
54 | pull( |
55 | pullAsync(cb => { |
56 | ChooseOne({ |
57 | poll: '%t+PhrNxxXkw/jMo6mnwUWfFjJapoPWxzsQoe0Np+nYw=.sha256', |
58 | choice: 0 |
59 | }, cb) |
60 | }), |
61 | pull.map((validPosition) => { |
62 | return { |
63 | key: '%somekey', |
64 | value: { |
65 | content: validPosition |
66 | } |
67 | } |
68 | }), |
69 | pull.drain((poll) => { |
70 | t.true(isPosition(poll), 'simple (full msg)') |
71 | t.end() |
72 | }) |
73 | ) |
74 | |
75 | // NOTE - we might want an isChooseOnePosition in future |
76 | // t.true(isChooseOnePosition(fullPositionMsg), 'simple (full msg)') |
77 | }) |
78 |
Built with git-ssb-web