95 lines
2.3 KiB
JavaScript
95 lines
2.3 KiB
JavaScript
const { ObjectID } = require('mongodb');
|
|
const jwt = require('jsonwebtoken');
|
|
|
|
const { Todo } = require('./../../models/todo');
|
|
const { User } = require('./../../models/user');
|
|
|
|
var bcrypt = require('bcrypt');
|
|
|
|
const userOneId = new ObjectID();
|
|
const userTwoId = new ObjectID();
|
|
const userThreeId = new ObjectID();
|
|
|
|
// let mypwdchiaro = 'mypassword@1A';
|
|
// let mypwdcrypt = bcrypt.hash(mypwdchiaro, bcrypt.genSaltSync(12))
|
|
// .then((hashedPassword) => {
|
|
// console.log('pwd=',hashedPassword);
|
|
// });
|
|
// String(mypwdcrypt)
|
|
|
|
let mypwdcrypted = '$2b$12$mteST.isuWO0SNsfeZ0aCe.Dz3qwPh5SU8t9rc5SaPTkb3j0ywGv6'
|
|
|
|
const users = [ {
|
|
_id: userTwoId,
|
|
keyappid: process.env.KEY_APP_ID,
|
|
lang: 'it',
|
|
idapp: '1',
|
|
email: 'paoloa.rena77@gmail.com',
|
|
username: 'paoloar77B',
|
|
password: mypwdcrypted,
|
|
tokens: [{
|
|
access: 'auth',
|
|
token: jwt.sign({ _id: userOneId, access: 'auth' }, process.env.SIGNCODE).toString()
|
|
}]
|
|
},
|
|
{
|
|
_id: userThreeId,
|
|
keyappid: process.env.KEY_APP_ID,
|
|
lang: 'it',
|
|
idapp: '1',
|
|
email: 'pa@com',
|
|
password: mypwdcrypted,
|
|
username: 'paoloar77C',
|
|
tokens: [{
|
|
access: 'auth',
|
|
token: jwt.sign({ _id: userTwoId, access: 'auth' }, process.env.SIGNCODE).toString()
|
|
}]
|
|
}, {
|
|
keyappid: process.env.KEY_APP_ID,
|
|
lang: 'it',
|
|
idapp: '1',
|
|
email: 'pao.loarena77@gmail.com',
|
|
password: mypwdcrypted,
|
|
username: 'paoloar77A'
|
|
}];
|
|
|
|
const userjson = JSON.stringify(users[0]);
|
|
|
|
// console.log('userjson=', userjson)
|
|
|
|
|
|
const todos = [{
|
|
_id: new ObjectID(),
|
|
text: 'First test todo',
|
|
_creator: userOneId
|
|
}, {
|
|
_id: new ObjectID(),
|
|
text: 'Second test todo',
|
|
completed: true,
|
|
completedAt: 333,
|
|
_creator: userTwoId
|
|
}];
|
|
|
|
const populateTodos = (done) => {
|
|
const lista = [ users[0]._id, users[1]._id, users[2]._id];
|
|
Todo.deleteMany({ userId: {$in: lista } })
|
|
.then(() => {
|
|
return Todo.insertMany(todos);
|
|
}).then(() => done())
|
|
};
|
|
|
|
const populateUsers = (done) => {
|
|
const lista = [ users[0].username, users[1].username, users[2].username];
|
|
// const lista = [ "aa"]
|
|
User.deleteMany({ username: {$in: lista } })
|
|
.then(() => {
|
|
|
|
var userOne = new User(users[0]).save();
|
|
var userTwo = new User(users[1]).save();
|
|
|
|
return Promise.all([userOne, userTwo])
|
|
}).then(() => done());
|
|
};
|
|
|
|
module.exports = { todos, populateTodos, users, populateUsers, userjson, mypwdcrypted };
|