fix company login issue
Build & Deploy / Build & Push Docker Image (push) Successful in 3m8s
Test / Type Check (all packages) (push) Successful in 55s
Build & Deploy / Deploy to VPS (push) Successful in 3s
Test / API Unit Tests (push) Successful in 48s
Test / Homepage Unit Tests (push) Successful in 42s
Test / Carplace Unit Tests (push) Successful in 42s
Test / Admin Unit Tests (push) Successful in 40s
Test / Dashboard Unit Tests (push) Successful in 40s
Test / API Integration Tests (push) Successful in 1m0s
Build & Deploy / Build & Push Docker Image (push) Successful in 3m8s
Test / Type Check (all packages) (push) Successful in 55s
Build & Deploy / Deploy to VPS (push) Successful in 3s
Test / API Unit Tests (push) Successful in 48s
Test / Homepage Unit Tests (push) Successful in 42s
Test / Carplace Unit Tests (push) Successful in 42s
Test / Admin Unit Tests (push) Successful in 40s
Test / Dashboard Unit Tests (push) Successful in 40s
Test / API Integration Tests (push) Successful in 1m0s
This commit is contained in:
@@ -33,6 +33,7 @@ const employee = {
|
||||
companyId: 'company_1',
|
||||
isActive: true,
|
||||
emailVerified: true,
|
||||
emailVerificationToken: null,
|
||||
passwordHash: 'hash_old',
|
||||
company: { name: 'Atlas Cars', slug: 'atlas' },
|
||||
}
|
||||
@@ -74,8 +75,12 @@ describe('auth.employee.service edge behavior', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('rejects login for employees whose email has not been verified', async () => {
|
||||
vi.mocked(repo.findEmployeeWithCompanyByEmail).mockResolvedValue({ ...employee, emailVerified: false } as never)
|
||||
it('rejects login for employees with a pending email verification token', async () => {
|
||||
vi.mocked(repo.findEmployeeWithCompanyByEmail).mockResolvedValue({
|
||||
...employee,
|
||||
emailVerified: null,
|
||||
emailVerificationToken: 'verify-token',
|
||||
} as never)
|
||||
|
||||
await expect(service.login({ email: 'agent@example.test', password: 'correct-password' })).rejects.toMatchObject({
|
||||
statusCode: 401,
|
||||
@@ -83,6 +88,25 @@ describe('auth.employee.service edge behavior', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('logs in legacy full-signup owners that were created without a verification token', async () => {
|
||||
vi.mocked(repo.findEmployeeWithCompanyByEmail).mockResolvedValue({
|
||||
...employee,
|
||||
role: 'OWNER',
|
||||
emailVerified: null,
|
||||
emailVerificationToken: null,
|
||||
} as never)
|
||||
|
||||
const result = await service.login({ email: 'agent@example.test', password: 'correct-password' })
|
||||
|
||||
expect(result).toMatchObject({
|
||||
token: expect.any(String),
|
||||
employee: {
|
||||
id: 'employee_1',
|
||||
role: 'OWNER',
|
||||
},
|
||||
})
|
||||
})
|
||||
|
||||
it('distinguishes employees without passwords from wrong credentials', async () => {
|
||||
vi.mocked(repo.findEmployeeWithCompanyByEmail).mockResolvedValue({ ...employee, passwordHash: null } as never)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user