viewdb 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,112 +1,112 @@
1
- var _ = require('lodash');
2
-
3
- var ViewDb = require('../..');
4
- var ViewDbVersioningPlugin = require('../..').plugins.VersioningPlugin;
5
-
6
- describe('Viewdb versioning plugin', () => {
7
- it('should add version on insert', (done) => {
8
- var viewDb = new ViewDb();
9
- new ViewDbVersioningPlugin(viewDb);
10
- var obj = { id: '123' };
11
-
12
- var collection = viewDb.collection('test');
13
- collection.insert(obj);
14
-
15
- collection.find({ id: '123' }).toArray(function (err, objects) {
16
- var object = objects[0];
17
-
18
- expect(object.version).toBe(0);
19
- done();
20
- });
21
- });
22
- it('should add version on builk insert', (done) => {
23
- var viewDb = new ViewDb();
24
- new ViewDbVersioningPlugin(viewDb);
25
-
26
- var collection = viewDb.collection('test');
27
- collection.insert([{ id: '123' }, { id: '999' }]);
28
-
29
- collection.find({}).toArray(function (err, objects) {
30
- expect(objects[0].version).toBe(0);
31
- expect(objects[1].version).toBe(0);
32
- done();
33
- });
34
- });
35
- it('should increase version on save', (done) => {
36
- var viewDb = new ViewDb();
37
- new ViewDbVersioningPlugin(viewDb);
38
- var obj = { id: '123' };
39
-
40
- var collection = viewDb.collection('test');
41
- collection.insert(obj);
42
- obj.name = 'Pelle';
43
- collection.save(obj);
44
-
45
- collection.find({ id: '123' }).toArray(function (err, objects) {
46
- var object = objects[0];
47
- expect(object.version).toBe(1);
48
- expect(object.name).toBe('Pelle');
49
- done();
50
- });
51
- });
52
-
53
- it('should increase version on bulk save', (done) => {
54
- var viewDb = new ViewDb();
55
- new ViewDbVersioningPlugin(viewDb);
56
-
57
- var collection = viewDb.collection('test');
58
- collection.insert([
59
- { _id: '123', version: 10 },
60
- { _id: '999', version: 101 }
61
- ]);
62
- collection.find({}).toArray(function (err, objects) {
63
- _.forEach(objects, function (o, i) {
64
- o.name = i === 0 ? 'Pelle' : 'Kalle';
65
- });
66
- collection.save(objects, function () {
67
- collection.find({}).toArray(function (err, objects) {
68
- expect(objects[0].version).toBe(12); // add 1 version for insert and one for save
69
- expect(objects[0].name).toBe('Pelle');
70
- expect(objects[1].version).toBe(103);
71
- expect(objects[1].name).toBe('Kalle');
72
- done();
73
- });
74
- });
75
- });
76
- });
77
- it('should skip changing version with skipVersioning option on save', (done) => {
78
- var viewDb = new ViewDb();
79
- new ViewDbVersioningPlugin(viewDb);
80
- var obj = { id: '123' };
81
-
82
- var collection = viewDb.collection('test');
83
- collection.insert(obj);
84
- obj.name = 'Pelle';
85
- collection.save(obj, { skipVersioning: true });
86
-
87
- collection.find({ id: '123' }).toArray(function (err, objects) {
88
- var object = objects[0];
89
- expect(object.version).toBe(0); // still version 0
90
- expect(object.name).toBe('Pelle');
91
- done();
92
- });
93
- });
94
- it('should add version on save', (done) => {
95
- var viewDb = new ViewDb();
96
- new ViewDbVersioningPlugin(viewDb);
97
- var obj = { id: '123' };
98
-
99
- var collection = viewDb.collection('test');
100
- collection.insert(obj);
101
- obj.name = 'Pelle';
102
- obj.version = undefined;
103
- collection.save(obj);
104
-
105
- collection.find({ id: '123' }).toArray(function (err, objects) {
106
- var object = objects[0];
107
- expect(object.version).toBe(0);
108
- expect(object.name).toBe('Pelle');
109
- done();
110
- });
111
- });
112
- });
1
+ var _ = require('lodash');
2
+
3
+ var ViewDb = require('../..');
4
+ var ViewDbVersioningPlugin = require('../..').plugins.VersioningPlugin;
5
+
6
+ describe('Viewdb versioning plugin', () => {
7
+ it('should add version on insert', (done) => {
8
+ var viewDb = new ViewDb();
9
+ new ViewDbVersioningPlugin(viewDb);
10
+ var obj = { id: '123' };
11
+
12
+ var collection = viewDb.collection('test');
13
+ collection.insert(obj);
14
+
15
+ collection.find({ id: '123' }).toArray(function (err, objects) {
16
+ var object = objects[0];
17
+
18
+ expect(object.version).toBe(0);
19
+ done();
20
+ });
21
+ });
22
+ it('should add version on builk insert', (done) => {
23
+ var viewDb = new ViewDb();
24
+ new ViewDbVersioningPlugin(viewDb);
25
+
26
+ var collection = viewDb.collection('test');
27
+ collection.insert([{ id: '123' }, { id: '999' }]);
28
+
29
+ collection.find({}).toArray(function (err, objects) {
30
+ expect(objects[0].version).toBe(0);
31
+ expect(objects[1].version).toBe(0);
32
+ done();
33
+ });
34
+ });
35
+ it('should increase version on save', (done) => {
36
+ var viewDb = new ViewDb();
37
+ new ViewDbVersioningPlugin(viewDb);
38
+ var obj = { id: '123' };
39
+
40
+ var collection = viewDb.collection('test');
41
+ collection.insert(obj);
42
+ obj.name = 'Pelle';
43
+ collection.save(obj);
44
+
45
+ collection.find({ id: '123' }).toArray(function (err, objects) {
46
+ var object = objects[0];
47
+ expect(object.version).toBe(1);
48
+ expect(object.name).toBe('Pelle');
49
+ done();
50
+ });
51
+ });
52
+
53
+ it('should increase version on bulk save', (done) => {
54
+ var viewDb = new ViewDb();
55
+ new ViewDbVersioningPlugin(viewDb);
56
+
57
+ var collection = viewDb.collection('test');
58
+ collection.insert([
59
+ { _id: '123', version: 10 },
60
+ { _id: '999', version: 101 }
61
+ ]);
62
+ collection.find({}).toArray(function (err, objects) {
63
+ _.forEach(objects, function (o, i) {
64
+ o.name = i === 0 ? 'Pelle' : 'Kalle';
65
+ });
66
+ collection.save(objects, function () {
67
+ collection.find({}).toArray(function (err, objects) {
68
+ expect(objects[0].version).toBe(12); // add 1 version for insert and one for save
69
+ expect(objects[0].name).toBe('Pelle');
70
+ expect(objects[1].version).toBe(103);
71
+ expect(objects[1].name).toBe('Kalle');
72
+ done();
73
+ });
74
+ });
75
+ });
76
+ });
77
+ it('should skip changing version with skipVersioning option on save', (done) => {
78
+ var viewDb = new ViewDb();
79
+ new ViewDbVersioningPlugin(viewDb);
80
+ var obj = { id: '123' };
81
+
82
+ var collection = viewDb.collection('test');
83
+ collection.insert(obj);
84
+ obj.name = 'Pelle';
85
+ collection.save(obj, { skipVersioning: true });
86
+
87
+ collection.find({ id: '123' }).toArray(function (err, objects) {
88
+ var object = objects[0];
89
+ expect(object.version).toBe(0); // still version 0
90
+ expect(object.name).toBe('Pelle');
91
+ done();
92
+ });
93
+ });
94
+ it('should add version on save', (done) => {
95
+ var viewDb = new ViewDb();
96
+ new ViewDbVersioningPlugin(viewDb);
97
+ var obj = { id: '123' };
98
+
99
+ var collection = viewDb.collection('test');
100
+ collection.insert(obj);
101
+ obj.name = 'Pelle';
102
+ obj.version = undefined;
103
+ collection.save(obj);
104
+
105
+ collection.find({ id: '123' }).toArray(function (err, objects) {
106
+ var object = objects[0];
107
+ expect(object.version).toBe(0);
108
+ expect(object.name).toBe('Pelle');
109
+ done();
110
+ });
111
+ });
112
+ });