authenzify
Version:
server to manage authentication authorization of users and more
52 lines (48 loc) • 1.64 kB
JavaScript
import { before } from 'mocha'
import * as assert from 'assert'
import { getConfig } from '../../util/settings.js'
import { dropDatabase } from '../../util/mongodb-util.js'
import { ACTIVATE_USER_BY } from '../../../src/constant.js'
import { factory } from '../../../src/adapters/factories/index.js'
import { SIGN_IN_ERRORS } from '../../../src/errors/error-codes.js'
import { ConfigService } from '../../../src/services/config.service.js'
describe('Sign In', () => {
let usersManagement
let credentials
before(async () => {
const config = await getConfig({
activateUserBy: ACTIVATE_USER_BY.USER_EMAIL,
})
const { USER_EMAIL, USER_PASSWORD } = process.env
credentials = { email: USER_EMAIL, password: USER_PASSWORD }
const storageConfig = config.storage
await dropDatabase(storageConfig)
const configService = new ConfigService(config)
usersManagement = await factory(configService)
await usersManagement.signUp({
...credentials,
firstName: 'John',
lastName: 'Doe',
})
})
describe(`Verify user sign-in`, () => {
it(`Should throw error ${SIGN_IN_ERRORS.USER_NOT_VERIFIED.code} trying sign-in before user verified`, async () => {
try {
await usersManagement.signIn({
...credentials,
password: credentials.password + '12',
})
} catch (error) {
const { httpStatusCode, code, httpStatusText } = error
assert.deepEqual(
{
httpStatusCode,
code,
httpStatusText,
},
SIGN_IN_ERRORS.USER_NOT_VERIFIED,
)
}
})
})
})