app/tests/seed/seed.js   A
last analyzed

Complexity

Total Complexity 6
Complexity/F 1

Size

Lines of Code 76
Function Count 6

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 0
nc 1
dl 0
loc 76
rs 10
c 0
b 0
f 0
wmc 6
mnd 0
bc 4
fnc 6
bpm 0.6666
cpm 1
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A seed.js ➔ ??? 0 5 1
1
'use strict';
2
3
const {ObjectID}    = require('mongodb');
4
const jwt           = require('jsonwebtoken');
5
6
const {Todo} = require('./../../models/todo');
7
const {User} = require('./../../models/user');
8
9
// create an id for the user data
10
const userOneID = new ObjectID();
11
const userTwoID = new ObjectID();
12
13
// seed data 
14
const dummyTodos = [{
15
    _id : new ObjectID(),
16
    text : 'first dummy todo',
17
    _creator : userOneID
18
},{
19
    _id : new ObjectID(),    
20
    text : 'second dummy todo',
21
    completed : true,
22
    completedAt : 1484982333753,
23
    _creator : userOneID
24
},{
25
    _id : new ObjectID(),    
26
    text : 'third dummy todos',
27
    _creator : userTwoID
28
}];
29
30
// the function that populates the data in the todo collection
31
const populateTodos = (done) => {
32
    Todo.remove({}).then(() => {
33
        return Todo.insertMany(dummyTodos);
34
    }).then(() => done());
35
}
36
37
38
const dummyUsers = [
39
    {
40
        _id : userOneID,
41
        name : 'Jhon Doe',
42
        email : '[email protected]',
43
        password : 'dummypass123',
44
        tokens : [{
45
            access : 'auth',
46
            token : jwt.sign({_id : userOneID, access : 'auth'}, 'abc123').toString()
47
        }]
48
    },
49
    {
50
        _id : userTwoID,
51
        name : 'Jane Doe',
52
        email : '[email protected]',
53
        password : 'secondpassword213',
54
        tokens : [{
55
            access : 'auth',
56
            token : jwt.sign({_id : userTwoID, access : 'auth'}, 'abc123').toString()
57
        }]
58
    }
59
];
60
61
const populateUsers = (done) => {
62
    User.remove({}).then(() => {
63
        let userOne =  new User(dummyUsers[0]).save();
64
        let userTwo =  new User(dummyUsers[1]).save();
65
66
        return Promise.all([userOne, userTwo]);
67
    }).then(() => done());
68
}
69
70
71
module.exports = {
72
    dummyTodos,
73
    populateTodos,
74
    dummyUsers,
75
    populateUsers
76
}
77