Correspondents/__tests__/flags/api-appointments-booking-disabled.test.ts

35 lines
1.2 KiB
TypeScript

import { describe, expect, it, vi } from 'vitest'
vi.mock('@/lib/flags', () => ({
Flags: { BOOKING_ENABLED: false },
}))
vi.mock('@/lib/auth', () => ({
authOptions: {},
}))
vi.mock('next-auth', () => ({
getServerSession: vi.fn(),
}))
describe('Booking appointments mutations with BOOKING_ENABLED=false', () => {
it('POST returns 503 without invoking booking logic', async () => {
const { POST } = await import('../../app/api/appointments/route')
const response = await POST({} as any)
expect(response.status).toBe(503)
await expect(response.json()).resolves.toEqual({ error: 'Booking disabled' })
})
it('PUT returns 503 without invoking booking logic', async () => {
const { PUT } = await import('../../app/api/appointments/route')
const response = await PUT({} as any)
expect(response.status).toBe(503)
await expect(response.json()).resolves.toEqual({ error: 'Booking disabled' })
})
it('DELETE returns 503 without invoking booking logic', async () => {
const { DELETE } = await import('../../app/api/appointments/route')
const response = await DELETE({} as any)
expect(response.status).toBe(503)
await expect(response.json()).resolves.toEqual({ error: 'Booking disabled' })
})
})