mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 15:13:21 +00:00
Add missing tests for user & token services
Signed-off-by: Convly <jean-sebastien.herbaux@epitech.eu>
This commit is contained in:
parent
999e93db2b
commit
3029026014
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const { createJwtToken, getTokenOptions, decodeJwtToken } = require('../token');
|
||||
const { createJwtToken, getTokenOptions, decodeJwtToken, createToken } = require('../token');
|
||||
|
||||
const delay = time => new Promise(resolve => setTimeout(resolve, time));
|
||||
|
||||
@ -201,4 +201,14 @@ describe('Token', () => {
|
||||
expect(isValid).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('createToken', () => {
|
||||
test('Create a random token of length 128', () => {
|
||||
const token = createToken();
|
||||
|
||||
expect(token).toBeDefined();
|
||||
expect(typeof token === 'string').toBe(true);
|
||||
expect(token.length).toBe(128);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
'use strict';
|
||||
|
||||
const { sanitizeUser } = require('../user');
|
||||
const _ = require('lodash');
|
||||
const userService = require('../user');
|
||||
|
||||
describe('User', () => {
|
||||
describe('sanitizeUser', () => {
|
||||
test('Removes password and resetPasswordToken', () => {
|
||||
const res = sanitizeUser({
|
||||
const res = userService.sanitizeUser({
|
||||
id: 1,
|
||||
firstname: 'Test',
|
||||
otherField: 'Hello',
|
||||
@ -20,4 +21,75 @@ describe('User', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('create', () => {
|
||||
test('Creates a user by merging given and default attributes', async () => {
|
||||
const create = jest.fn(user => Promise.resolve(user));
|
||||
|
||||
global.strapi = {
|
||||
query() {
|
||||
return { create };
|
||||
},
|
||||
};
|
||||
|
||||
const input = { firstname: 'John', lastname: 'Doe', email: 'johndoe@email.com' };
|
||||
const expected = { ...input, isActive: false, roles: [] };
|
||||
|
||||
const result = await userService.create(input);
|
||||
|
||||
expect(result).toStrictEqual(expected);
|
||||
});
|
||||
|
||||
test('Creates a user by using given attributes', async () => {
|
||||
const createFn = jest.fn(user => Promise.resolve(user));
|
||||
|
||||
global.strapi = {
|
||||
query() {
|
||||
return { create: createFn };
|
||||
},
|
||||
};
|
||||
|
||||
const input = {
|
||||
firstname: 'John',
|
||||
lastname: 'Doe',
|
||||
email: 'johndoe@email.com',
|
||||
roles: [2],
|
||||
isActive: true,
|
||||
};
|
||||
const expected = _.clone(input);
|
||||
const result = await userService.create(input);
|
||||
|
||||
expect(result).toStrictEqual(expected);
|
||||
});
|
||||
});
|
||||
|
||||
describe('exists', () => {
|
||||
test('Return true if the user already exists', async () => {
|
||||
const count = jest.fn(() => Promise.resolve(1));
|
||||
|
||||
global.strapi = {
|
||||
query: () => {
|
||||
return { count };
|
||||
},
|
||||
};
|
||||
|
||||
const result = await userService.exists();
|
||||
|
||||
expect(result).toBeTruthy();
|
||||
});
|
||||
|
||||
test('Return false if the user does not exists', async () => {
|
||||
const count = jest.fn(() => Promise.resolve(0));
|
||||
|
||||
global.strapi = {
|
||||
query: () => {
|
||||
return { count };
|
||||
},
|
||||
};
|
||||
|
||||
const result = await userService.exists();
|
||||
|
||||
expect(result).toBeFalsy();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user