UNPKG

2.54 kBJavaScriptView Raw
1var cradle = require('cradle'),
2 describe = require('Jody').describe,
3 Model = require('../lib/index.js'),
4 db = require('./spec_helper').db;
5
6/*
7describe("Embedding documents").
8 beforeAll(function (done) {
9 db = new(cradle.Connection)().database('lazyboy_tests');
10
11
12 var Address = Model.define("Address", {
13 street_name: String,
14 number: Number
15 });
16
17 var Person = Model.define("Person",{
18 name: String,
19 address: {hasone: Address}
20 });
21
22 Model.load();
23
24
25 done();
26 }).
27 it("Should save main document with referenced id for embedded doc", function (async) {
28 var Address = Model('Address');
29 var Person = Model('Person');
30
31 var new_address = Address.create({
32 street_name: "Cool Str",
33 number: 24
34 });
35
36 var new_person = Person.create({name: "John Malkovich", address: new_address});
37
38 new_person.save(async(function (err, saved_person) {
39 db.get(saved_person.id, async(function (err, person_doc) {
40 Address.where("street_name","Cool Str", async(function (err, addresses) {
41 var address = addresses[0];
42 console.dir(address);
43 person_doc.address_id.should().beEqual(address.id);
44
45 }));
46 }));
47 }));
48
49 }).
50 it("Should load model and referenced model", function (async) {
51 var Person = Model('Person');
52 var Address = Model('Address');
53
54 var new_address = Address.create({
55 street_name: "Main Str",
56 number: 21
57 });
58
59 var new_person = Person.create({name: "Bruce Willis", address: new_address});
60
61 new_person.save(async(function (err, res) {
62 if (err) throw err;
63
64 Person.find(res.id, async(function (err, loaded_person) {
65 //console.dir(loaded_person);
66 loaded_person.name.should().beEqual(new_person.name);
67 loaded_person.address.id.should().notBeEqual(null);
68 loaded_person.address.street_name.should().beEqual(new_person.address.street_name);
69 loaded_person.address.number.should().beEqual(new_person.address.number);
70 }));
71
72 }));
73 });
74
75 */
76