authenzify
Version:
server to manage authentication authorization of users and more
50 lines (45 loc) • 1.49 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 { 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 credentials
let usersManagement
before(async () => {
const config = await getConfig()
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 when trying sign-in with wrong password', 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.INVALID_USERNAME_OR_PASSWORD,
)
}
})
})
})