-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
121 lines (96 loc) · 2.73 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
var test = require('tap').test
, db = require('level-test')()
, series = require('run-series')
, Service = require('./level-historical-json')
test('should be able to save and get data', function (t) {
var service = Service(db())
, tasks = []
tasks.push(function (callback) {
service.put({beep: 'boop'}, callback)
})
tasks.push(function (callback) {
service.put({foo: 'bar'}, callback)
})
tasks.push(function (callback) {
service.put({hey: 'ahoy'}, callback)
})
tasks.push(function (callback) {
service.get(function (err, res) {
if (err) return callback(err)
t.equal(res.length, 3)
t.equal(res[0].beep, 'boop')
t.equal(res[1].foo, 'bar')
t.equal(res[2].hey, 'ahoy')
callback()
})
})
series(tasks, function (err) {
t.notOk(err)
t.end()
})
})
test('should be able to update data', function (t) {
var service = Service(db())
, tasks = []
, obj = {
beep: 'boop'
, foo: 'bar'
, hey: 'ahoy'
}
tasks.push(function (callback) {
service.put(obj, callback)
})
tasks.push(function (callback) {
service.get(function (err, res) {
if (err) return callback(err)
t.equal(res[0].beep, 'boop')
t.equal(res[0].foo, 'bar')
t.equal(res[0].hey, 'ahoy')
var newEvent = res[0]
service.put({ hey: 'updated', key: res[0].key }, callback)
})
})
tasks.push(function (callback) {
service.get(function (err, res) {
if (err) console.log('err', err)
t.equal(res[0].beep, 'boop')
t.equal(res[0].foo, 'bar')
t.equal(res[0].hey, 'updated')
callback()
})
})
series(tasks, function (err) {
t.notOk(err)
t.end()
})
})
test('should be able to get historical changes', function (t) {
var service = Service(db())
, tasks = []
tasks.push(function (callback) {
service.put({title: 'title', test: 'test'}, callback)
})
tasks.push(function (callback) {
service.get(function (err, res) {
if (err) return callback(err)
t.equal(res[0].title, 'title')
t.equal(res[0].test, 'test')
service.put({ title: 'new title', key: res[0].key }, callback)
})
})
tasks.push(function (callback) {
service.getHistorical(function (err, history) {
if (err) return callback(err)
t.equal(history[0].changes.length, 1)
t.equal(history[0].changes[0].from, 'title')
t.equal(history[0].changes[0].to, 'new title')
t.equal(history[0].changes[0].property, 'title')
t.deepEqual(Object.keys(history[0].changes[0]), ['from', 'to', 'property', 'at'])
callback(null, history)
})
})
series(tasks, function (err, res) {
t.notOk(err)
t.end()
})
})