feat: usage of ESM modules imports (instead of CommonJS) (#5)

Replace `jest` with `tap`.
This commit is contained in:
Divlo
2022-03-20 11:49:27 +01:00
committed by GitHub
parent 91a0e2a76f
commit 19b6f96ecf
70 changed files with 8017 additions and 6318 deletions

View File

@ -1,4 +1,5 @@
import { User } from '@prisma/client'
import sinon from 'sinon'
import { refreshTokenExample } from '../../models/RefreshToken.js'
import { userExample, UserJWT } from '../../models/User.js'
@ -7,22 +8,54 @@ import {
generateAccessToken,
generateRefreshToken
} from '../../tools/utils/jwtToken.js'
import { prismaMock } from '../setup.js'
import prisma from '../../tools/database/prisma.js'
export const authenticateUserTest = async (): Promise<{
accessToken: string
refreshToken: string
user: User
userStubValue: any
userSettingStubValue: any
oAuthStubValue: any
refreshTokenStubValue: any
}> => {
prismaMock.user.findUnique.mockResolvedValue(userExample)
prismaMock.userSetting.findFirst.mockResolvedValue(userSettingsExample)
prismaMock.oAuth.findMany.mockResolvedValue([])
prismaMock.refreshToken.create.mockResolvedValue(refreshTokenExample)
const userStubValue = {
findUnique: async () => {
return userExample
}
}
const userSettingStubValue = {
findFirst: async () => {
return userSettingsExample
}
}
const oAuthStubValue = {
findMany: async () => {
return []
}
}
const refreshTokenStubValue = {
create: async () => {
return refreshTokenExample
}
}
sinon.stub(prisma, 'user').value(userStubValue)
sinon.stub(prisma, 'userSetting').value(userSettingStubValue)
sinon.stub(prisma, 'oAuth').value(oAuthStubValue)
sinon.stub(prisma, 'refreshToken').value(refreshTokenStubValue)
const userJWT: UserJWT = {
currentStrategy: 'local',
id: 1
}
const accessToken = generateAccessToken(userJWT)
const refreshToken = await generateRefreshToken(userJWT)
return { accessToken, refreshToken, user: userExample }
return {
accessToken,
refreshToken,
user: userExample,
userStubValue,
userSettingStubValue,
oAuthStubValue,
refreshTokenStubValue
}
}