import { describe, it, expect } from 'vitest' import { server, http, HttpResponse } from './test-setup' import { loginWithPassword } from '@/api/auth' import { setHouseholdSlugProvider } from '@/api/client' import { listMembers } from '@/api/households' describe('households api (list members)', () => { it('GETs members with Authorization and X-Household-Slug headers', async () => { // Simulate login token server.use( http.post('*/api/v1/auth/login', () => HttpResponse.json({ accessToken: 'tokLM', tokenType: 'bearer', user: { id: 3, email: 'u@e', displayName: 'User' } }) ) ) await loginWithPassword('u@e', 'pw') // Provide a household slug for header injection setHouseholdSlugProvider(() => 'the-smiths') server.use( http.get('*/api/v1/households/members', ({ request }) => { const auth = request.headers.get('authorization') expect(auth?.toLowerCase()).toBe('bearer toklm') const slug = request.headers.get('x-household-slug') expect(slug).toBe('the-smiths') return HttpResponse.json([ { id: 10, email: 'a@example.com', displayName: 'Alice' }, { id: 11, email: 'b@example.com', displayName: 'Bob' }, ]) }) ) const members = await listMembers() expect(members.length).toBe(2) expect(members[0]?.displayName).toBe('Alice') }) })