Files
carmanagement/apps/api/src/modules/auth/auth.employee.repo.test.ts
T
2026-05-22 17:21:52 -04:00

47 lines
1.1 KiB
TypeScript

import { beforeEach, describe, expect, it, vi } from 'vitest'
vi.mock('../../lib/prisma', () => ({
prisma: {
employee: {
findFirst: vi.fn(),
},
},
}))
import { prisma } from '../../lib/prisma'
import { findActiveEmployeeByEmail, findEmployeeWithCompanyByEmail } from './auth.employee.repo'
describe('auth.employee.repo', () => {
beforeEach(() => {
vi.clearAllMocks()
})
it('looks up employee login email case-insensitively', async () => {
await findEmployeeWithCompanyByEmail('Owner@Example.com')
expect(prisma.employee.findFirst).toHaveBeenCalledWith({
where: {
email: {
equals: 'Owner@Example.com',
mode: 'insensitive',
},
},
include: { company: true },
})
})
it('looks up active employee reset email case-insensitively', async () => {
await findActiveEmployeeByEmail('Owner@Example.com')
expect(prisma.employee.findFirst).toHaveBeenCalledWith({
where: {
email: {
equals: 'Owner@Example.com',
mode: 'insensitive',
},
isActive: true,
},
})
})
})