munch-ease-frontend/tests/household.header.test.ts

24 lines
942 B
TypeScript
Raw Normal View History

2025-11-01 02:44:58 +00:00
import { describe, it, expect } from 'vitest'
import { server, http, HttpResponse } from './test-setup'
import { api } from '@/api/client'
describe('API household header injection', () => {
it('sends X-Household-Slug when provider returns slug', async () => {
server.use(
http.get('*/api/v1/recipes', ({ request }) => {
// Should include our header set by client provider
const slug = request.headers.get('x-household-slug') || request.headers.get('X-Household-Slug')
if (!slug) return new HttpResponse(null, { status: 400 })
return HttpResponse.json([])
})
)
// Directly set provider without Vue router by calling internal setter via dynamic import
const { setHouseholdSlugProvider } = await import('@/api/client')
setHouseholdSlugProvider(() => 'the-smiths')
const res = await api.GET('/api/v1/recipes', { params: {} })
expect(res.response.ok).toBe(true)
})
})