UNPKG

2.44 kBJavaScriptView Raw
1var describe = require('Jody').describe,
2 Model = require('../lib/index'),
3 db_helper = require('../lib/connection');
4
5
6describe("Finding by property").
7 beforeAll(function (done) {
8 Model.define("User", {name: String, surname: String});
9 Model.load();
10
11 var User = Model("User");
12
13 User.create({name:"Benjamin", surname:"Harper"}).save(function (){
14 User.create({name:"Joshua",surname:"James"}).save(function () {
15 done();
16 });
17
18 });
19
20 }).
21 it("Should create view that can be queried for first names", function (async) {
22 var User = Model("User");
23 User.where("name","Benjamin",async(function (err, users) {
24 users.length.should().beEqual(1);
25 var user = users[0];
26 user.name.should().beEqual("Benjamin");
27 user.surname.should().beEqual("Harper");
28 }));
29
30 }).
31 it("Should find any existing user by first name", function (async) {
32 var User = Model("User");
33 User.where("name","Joshua",async(function (err, users) {
34 users.length.should().beEqual(1);
35 var user = users[0];
36 user.name.should().beEqual("Joshua");
37 user.surname.should().beEqual("James");
38 }));
39
40 }).
41 it("Should return empty array if query not exist", function (async) {
42 var User = Model("User");
43
44 User.where("name","Henry", async(function (err, users) {
45 users.length.should().beEqual(0);
46 }));
47 }).
48 it("Should return 'missing_named_view' view not exist", function (async) {
49 var User = Model("User");
50
51 User.where("name123","Henry", async(function (err, users) {
52 err.reason.should().beEqual("missing_named_view");
53 }));
54 }).
55 it("Should query by surname", function (async) {
56 var User = Model("User");
57 User.where("surname","James",async(function (err, users) {
58 users.length.should().beEqual(1);
59 var user = users[0];
60 user.name.should().beEqual("Joshua");
61 user.surname.should().beEqual("James");
62 }));
63 }).
64 it("Should find only for specified model", function (async) {
65 var User = Model("User");
66 var Another_User = Model.define('AnotherUser',{name:String});
67 Model.load();
68
69 Another_User.create({name:"Joshua"}).save(async(function () {
70 User.where("name","Joshua", async(function (err, users) {
71 console.log("surname thing");
72 console.dir(users);
73 users.length.should().beEqual(1);
74 users[0].surname.should().beEqual("James");
75 }));
76 }));
77 });