init
This commit is contained in:
14
tests/fixtures/token.fixture.js
vendored
Normal file
14
tests/fixtures/token.fixture.js
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
const moment = require('moment');
|
||||
const config = require('../../src/config/config');
|
||||
const { tokenTypes } = require('../../src/config/tokens');
|
||||
const tokenService = require('../../src/services/token.service');
|
||||
const { userOne, admin } = require('./user.fixture');
|
||||
|
||||
const accessTokenExpires = moment().add(config.jwt.accessExpirationMinutes, 'minutes');
|
||||
const userOneAccessToken = tokenService.generateToken(userOne._id, accessTokenExpires, tokenTypes.ACCESS);
|
||||
const adminAccessToken = tokenService.generateToken(admin._id, accessTokenExpires, tokenTypes.ACCESS);
|
||||
|
||||
module.exports = {
|
||||
userOneAccessToken,
|
||||
adminAccessToken,
|
||||
};
|
||||
46
tests/fixtures/user.fixture.js
vendored
Normal file
46
tests/fixtures/user.fixture.js
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
const mongoose = require('mongoose');
|
||||
const bcrypt = require('bcryptjs');
|
||||
const faker = require('faker');
|
||||
const User = require('../../src/models/user.model');
|
||||
|
||||
const password = 'password1';
|
||||
const salt = bcrypt.genSaltSync(8);
|
||||
const hashedPassword = bcrypt.hashSync(password, salt);
|
||||
|
||||
const userOne = {
|
||||
_id: mongoose.Types.ObjectId(),
|
||||
name: faker.name.findName(),
|
||||
email: faker.internet.email().toLowerCase(),
|
||||
password,
|
||||
role: 'user',
|
||||
isEmailVerified: false,
|
||||
};
|
||||
|
||||
const userTwo = {
|
||||
_id: mongoose.Types.ObjectId(),
|
||||
name: faker.name.findName(),
|
||||
email: faker.internet.email().toLowerCase(),
|
||||
password,
|
||||
role: 'user',
|
||||
isEmailVerified: false,
|
||||
};
|
||||
|
||||
const admin = {
|
||||
_id: mongoose.Types.ObjectId(),
|
||||
name: faker.name.findName(),
|
||||
email: faker.internet.email().toLowerCase(),
|
||||
password,
|
||||
role: 'admin',
|
||||
isEmailVerified: false,
|
||||
};
|
||||
|
||||
const insertUsers = async (users) => {
|
||||
await User.insertMany(users.map((user) => ({ ...user, password: hashedPassword })));
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
userOne,
|
||||
userTwo,
|
||||
admin,
|
||||
insertUsers,
|
||||
};
|
||||
Reference in New Issue
Block a user