1 | var cradle = require('cradle'),
|
2 | describe = require('Jody').describe,
|
3 | Model = require('../lib/index.js'),
|
4 | db = require('./spec_helper').db;
|
5 |
|
6 | /*
|
7 | describe("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 |
|