git ssb

0+

Piet / ssb-loomio



Tree: be47c4200236fb818783a444f2a01b0707ec0a46

Files: be47c4200236fb818783a444f2a01b0707ec0a46 / test / position / async / chooseOne.test.js

1701 bytesRaw
1const test = require('tape')
2var pull = require('pull-stream')
3var pullAsync = require('pull-async')
4const ChooseOne = require('../../../position/async/chooseOne')
5const isPosition = require('../../../isPosition')
6
7test('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