-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathassociations.js
80 lines (75 loc) · 1.68 KB
/
associations.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
const _ = require('lodash');
const moment = require('moment');
const TestHelpers = require('./test_helpers');
const expect = require('chai').expect;
const User = require('./setup/models/user');
const Profile = require('./setup/models/profile');
const Post = require('./setup/models/post');
let user;
describe('transactions', () => {
// Reset Db
before(done => {
TestHelpers.initdb().then(() => {
done();
});
});
// Connect to sage
before(done => {
TestHelpers.connect()
.then(() => {
done();
})
.catch(err => {
console.log(err);
});
});
// Create and set user
before(done => {
User.create({ USERNAME: 'mrchess' })
.then(err => {
User.findOne({ USERNAME: 'mrchess' }).then(userModel => {
user = userModel;
console.log('found user', user.id);
done();
});
})
.catch(err => {
console.log('err', err);
});
});
// Create a profile for user - hasOne
before(done => {
Profile.create({
USER_ID: user.id,
BIO: 'I write software.',
}).then(() => {
done();
});
});
// Create a few posts for the user - hasMany
before(done => {
Post.create({
USER_ID: user.id,
POST_BODY: 'My first post.',
}).then(() => {
done();
});
});
before(done => {
Post.create({
USER_ID: user.id,
POST_BODY: 'My second post.',
}).then(() => {
done();
});
});
it('should populate', done => {
user.populate().then(() => {
// console.log(user)
const json = user.toJSON();
// console.log(json)
expect(json.posts.length).to.equal(2);
done();
});
});
});