1 | var assert = require('assert'),
|
2 | describe = require('Jody').describe,
|
3 | cradle = require('cradle'),
|
4 | Model = require('../lib/index'),
|
5 | db = require('./spec_helper').db;
|
6 |
|
7 | describe("Saving Item").
|
8 | beforeAll(function (done) {
|
9 |
|
10 | Model.define('User', {
|
11 |
|
12 | name: String,
|
13 | surname: String,
|
14 | });
|
15 |
|
16 | done();
|
17 |
|
18 | Model.load();
|
19 | }).
|
20 | it("Should save item into db", function (async) {
|
21 |
|
22 | var user = Model('User').create({
|
23 | id : "EddieVedder",
|
24 | name : "Eddie",
|
25 | surname : "Vedder"
|
26 | });
|
27 |
|
28 |
|
29 | user.save(async(function (err, result) {
|
30 | if (err) throw err;
|
31 |
|
32 | db.get(user.id,async(function (err, loaded_user) {
|
33 | loaded_user.name.should().beEqual(user.name);
|
34 | loaded_user.surname.should().beEqual(user.surname);
|
35 | }));
|
36 |
|
37 | }));
|
38 | }).
|
39 | it("Should create id for model if not defined", function (async) {
|
40 | Model.define('User_no_id', {
|
41 | id: String,
|
42 | name: String,
|
43 | surname: String,
|
44 | });
|
45 |
|
46 | var user = Model('User_no_id').create({name: "John", surname: "Rambo"});
|
47 |
|
48 | user.save(async(function (err, user_loaded) {
|
49 | assert.notEqual( user_loaded.id, undefined);
|
50 | user_loaded.name.should().beEqual(user.name);
|
51 | }));
|
52 |
|
53 |
|
54 | }).
|
55 | it("Should have a model type", function (async) {
|
56 | var user = Model('User').create({
|
57 | id : "Jimmy",
|
58 | name : "Jimmy",
|
59 | surname : "Page"
|
60 | });
|
61 |
|
62 | user.model_type.should().beEqual("User");
|
63 |
|
64 | user.save(async(function (err, result) {
|
65 | if (err) {
|
66 | console.dir(err);
|
67 | throw err;
|
68 | }
|
69 |
|
70 | db.get(user.id,async(function (err, loaded_user) {
|
71 | loaded_user.model_type.should().beEqual("User");
|
72 |
|
73 | }));
|
74 |
|
75 | }));
|
76 |
|
77 | }).
|
78 | it("Should have a created date", function (async) {
|
79 |
|
80 | var user = Model('User').create({
|
81 | id : "Jimi",
|
82 | name : "Jimi",
|
83 | surname : "Hendrix"
|
84 | });
|
85 |
|
86 | user.save(async(function (err, result) {
|
87 | if (err) throw err;
|
88 |
|
89 | db.get(user.id,async(function (err, loaded_user) {
|
90 | var dateCreated = new Date(loaded_user.dateCreated);
|
91 | var current_time = new Date();
|
92 | dateCreated.getMinutes().should().beEqual(current_time.getMinutes());
|
93 | dateCreated.getHours().should().beEqual(current_time.getHours());
|
94 | }));
|
95 |
|
96 | }));
|
97 |
|
98 | }).
|
99 | it("Should return a json version of model", function (async) {
|
100 | var user = Model('User').create({
|
101 | id : "Jimi",
|
102 | name : "Jimi",
|
103 | surname : "Hendrix"
|
104 | });
|
105 |
|
106 | var attr = {
|
107 | id : "Jimi",
|
108 | name : "Jimi",
|
109 | surname : "Hendrix"
|
110 | };
|
111 |
|
112 | var user_json = user.toJSON()
|
113 | user_json.name.should().beEqual(attr.name);
|
114 | user_json.surname.should().beEqual(attr.surname);
|
115 | }); |
116 |
|
117 |
|
118 |
|
119 |
|
120 |
|
121 |
|
122 |
|
123 |
|
124 |
|
125 |
|
126 |
|
127 |
|
128 |
|
129 |
|
130 |
|
131 |
|
132 |
|
133 |
|
134 |
|
135 |
|
136 |
|
137 |
|
138 |
|
139 |
|
140 |
|
141 |
|
142 |
|
143 |
|