authenzify
Version:
server to manage authentication authorization of users and more
45 lines (38 loc) • 1.42 kB
JavaScript
import { before } from 'mocha'
import * as assert from 'assert'
import { getConfig } from '../../util/settings.js'
import { initVerifyToken } from '../../../src/index.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 { ConfigService } from '../../../src/services/config.service.js'
describe('Sign In', () => {
let config
let credentials
let usersManagements
before(async () => {
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)
usersManagements = await factory(configService)
await usersManagements.signUp({
...credentials,
firstName: 'John',
lastName: 'Doe',
})
})
describe(`Verify user by '${ACTIVATE_USER_BY.AUTO}'`, () => {
it('Should test Users.signIn verify token', async () => {
const token = await usersManagements.signIn(credentials)
const { verifyToken } = initVerifyToken({
publicKey: config.publicKey,
jwtOptions: config.jwtOptions,
})
const encoded = verifyToken(token)
assert.equal(encoded.email, credentials.email)
})
})
})