be49ac5e69
Build & Push / Build & Push Docker Image (push) Successful in 5m17s
Test / Type Check (all packages) (push) Successful in 1m4s
Test / API Unit Tests (push) Successful in 49s
Test / Homepage Unit Tests (push) Has been cancelled
Test / Carplace Unit Tests (push) Has been cancelled
Test / Admin Unit Tests (push) Has been cancelled
Test / Dashboard Unit Tests (push) Has been cancelled
Test / API Integration Tests (push) Has been cancelled
51 lines
2.3 KiB
TypeScript
51 lines
2.3 KiB
TypeScript
import { describe, expect, it, vi } from 'vitest'
|
|
|
|
vi.mock('../../lib/prisma', () => ({ prisma: {} }))
|
|
vi.mock('../../lib/redis', () => ({ redis: { on: vi.fn(), get: vi.fn(), set: vi.fn(), del: vi.fn(), quit: vi.fn() } }))
|
|
vi.mock('../../middleware/requireCompanyAuth', () => ({
|
|
requireCompanyAuth: (req: any, _res: any, next: any) => {
|
|
req.employee = { id: 'employee_1', firstName: 'Aya', lastName: 'Manager', role: 'MANAGER' }
|
|
next()
|
|
},
|
|
requireCompanyDocumentAuth: (req: any, _res: any, next: any) => {
|
|
req.employee = { id: 'employee_1', firstName: 'Aya', lastName: 'Manager', role: 'MANAGER' }
|
|
next()
|
|
},
|
|
}))
|
|
vi.mock('../../middleware/requireTenant', () => ({ requireTenant: (req: any, _res: any, next: any) => { req.companyId = 'company_1'; next() } }))
|
|
vi.mock('../../middleware/requireSubscription', () => {
|
|
const pass = (_req: any, _res: any, next: any) => next()
|
|
return { requireSubscription: pass, requireSubscriptionRead: pass, requireSubscriptionWrite: pass, requireSubscriptionFull: pass }
|
|
})
|
|
vi.mock('../../middleware/requireRole', () => ({ requireRole: () => (_req: any, _res: any, next: any) => next() }))
|
|
vi.mock('../../modules/customers/customer.service', () => ({
|
|
createCustomer: vi.fn(),
|
|
approveLicense: vi.fn(),
|
|
listCustomers: vi.fn(),
|
|
getCustomer: vi.fn(),
|
|
updateCustomer: vi.fn(),
|
|
flagCustomer: vi.fn(),
|
|
unflagCustomer: vi.fn(),
|
|
validateCustomerLicense: vi.fn(),
|
|
uploadLicenseImage: vi.fn(),
|
|
getLicenseImageFile: vi.fn(),
|
|
}))
|
|
|
|
import request from 'supertest'
|
|
import { createApp } from '../../app'
|
|
import * as customerService from '../../modules/customers/customer.service'
|
|
|
|
const app = createApp()
|
|
|
|
describe('customer boundary e2e smoke', () => {
|
|
it('rejects malformed customer and license approval payloads before mocked services run', async () => {
|
|
const badCustomer = await request(app).post('/api/v1/customers').send({ firstName: '', lastName: 'Haddad', email: 'aya@example.test' })
|
|
expect(badCustomer.status).toBe(400)
|
|
expect(customerService.createCustomer).not.toHaveBeenCalled()
|
|
|
|
const badApproval = await request(app).post('/api/v1/customers/customer_1/approve-license').send({ decision: 'APPROVED_BUT_NOT_THE_ENUM' })
|
|
expect(badApproval.status).toBe(400)
|
|
expect(customerService.approveLicense).not.toHaveBeenCalled()
|
|
})
|
|
})
|