1 | var describe = require('Jody').describe,
|
2 | Model = require('../lib/index'),
|
3 | db_helper = require('../lib/connection');
|
4 |
|
5 |
|
6 | describe("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 | });
|