Files: e4eac9ccb82c20dcc8e3e9ea749f3557e168ec56 / gathering-update / validator.test.js
1842 bytesRaw
1 | const test = require('tape') |
2 | const valid = require('./validator') |
3 | |
4 | const GatheringUpdate = () => { |
5 | return { |
6 | type: 'about', |
7 | about: '%WcE/QeRq1DQn5L+xP696fLq6qfIvRS4DBt4QXicas0A=.sha256', |
8 | title: 'ziva\'s birthday', |
9 | description: 'come celebrate 1 year of life with ziva', |
10 | location: 'our place in mirimar', |
11 | startDateTime: { |
12 | epoch: Date.now() + 5e6, |
13 | silent: true, |
14 | tz: 'Pacific/Auckland', |
15 | valid: true |
16 | }, |
17 | image: { |
18 | link: '&GGEZJfKVD5NLd2l+YT8/mXbljNFM05D6iBxK+gen4+o=.sha256', |
19 | name: 'simone.jpg', |
20 | size: 47904, |
21 | type: 'image/jpeg' |
22 | } |
23 | } |
24 | } |
25 | |
26 | test('is-gathering-update', t => { |
27 | t.true(valid(GatheringUpdate())) |
28 | if (valid.errors) console.log(valid.errors) |
29 | |
30 | // misc keys |
31 | const missingStrings = GatheringUpdate() |
32 | delete missingStrings.title |
33 | delete missingStrings.description |
34 | delete missingStrings.location |
35 | t.true(valid(missingStrings), 'missing title/ description/ location') |
36 | |
37 | // startDateTime |
38 | const missingStart = GatheringUpdate() |
39 | delete missingStart.startDateTime |
40 | t.true(valid(missingStart), 'missing startDateTime') |
41 | |
42 | const bareStart = GatheringUpdate() |
43 | bareStart.startDateTime = { epoch: Date.now() } |
44 | t.true(valid(bareStart), 'minimal startDateTime') |
45 | |
46 | const brokenStart = GatheringUpdate() |
47 | delete brokenStart.startDateTime.epoch |
48 | t.false(valid(brokenStart), 'startDateTime missing epoch') |
49 | |
50 | // image |
51 | const missingImage = GatheringUpdate() |
52 | delete missingImage.image |
53 | t.true(valid(missingImage), 'missing image') |
54 | |
55 | const minimalImage = GatheringUpdate() |
56 | minimalImage.image = { |
57 | link: '&GGEZJfKVD5NLd2l+YT8/mXbljNFM05D6iBxK+gen4+o=.sha256' |
58 | } |
59 | t.true(valid(minimalImage), 'minimal image') |
60 | |
61 | const brokenImage = GatheringUpdate() |
62 | delete brokenImage.image.link |
63 | t.false(valid(brokenImage), 'broken image') |
64 | |
65 | t.end() |
66 | }) |
67 |
Built with git-ssb-web