UNPKG

forerunnerdb

Version:

A NoSQL document store database for browsers and Node.js.

102 lines (71 loc) 2.25 kB
QUnit.module('CollectionGroup -> View'); ForerunnerDB.moduleLoaded('View, CollectionGroup', function () { QUnit.test("Chains CRUD - setData", function () { base.dbUp(); var coll = db.collection('test'), group = db.collectionGroup('testGroup'), view = db.view('testGroupView'); group.addCollection(coll); view.from(group); coll.setData({ name: 'Fred' }); var result = view.find(); strictEqual(result.length, 1, "Correct number of results in group find"); strictEqual(result.length && result[0].name, 'Fred', "Correct entry data"); base.dbDown(); }); QUnit.test("Chains CRUD - insert", function () { base.dbUp(); var coll = db.collection('test'), group = db.collectionGroup('testViewGroup'), view = db.view('testGroupView'); group.addCollection(coll); view.from(group); coll.insert({ name: 'Fred' }); var result = view.find(); strictEqual(result.length, 1, "Correct number of results in group find: " + result.length); strictEqual(result.length && result[0].name, 'Fred', "Correct entry data"); base.dbDown(); }); QUnit.test("Chains CRUD - updated", function () { base.dbUp(); var coll = db.collection('test'), group = db.collectionGroup('testViewGroup'), view = db.view('testGroupView'); group.addCollection(coll); view.from(group); coll.insert({ name: 'Fred' }); coll.insert({ name: 'Joe' }); coll.update({name: 'Fred'}, {name: 'Jim'}); var result = view.find(); strictEqual(result.length, 2, "Correct number of results in group find: " + result.length); strictEqual(result.length && result[0].name, 'Jim', "Correct entry data"); base.dbDown(); }); QUnit.test("Chains CRUD - remove", function () { base.dbUp(); var coll = db.collection('test'), group = db.collectionGroup('testViewGroup'), view = db.view('testGroupView'); group.addCollection(coll); view.from(group); coll.insert({ name: 'Fred' }); coll.insert({ name: 'Joe' }); coll.remove({name: 'Fred'}); var result = view.find(); strictEqual(result.length, 1, "Correct number of results in group find: " + result.length); strictEqual(result.length && result[0].name, 'Joe', "Correct entry data"); base.dbDown(); }); });