Tours: bring the pinned counts and test doubles up to the new tables and switch

- tours locale key count, entity count and NOT NULL field count follow
  the wanderer tables and strings
- the shared MSW admin handlers answer /api/admin/tours-wanderer
- the mobile tour detail test checks the dialog, not the dropped heading
- the refused-origin e2e sends one request per case instead of four at once
This commit is contained in:
Maurice
2026-10-15 19:25:22 +02:00
parent 11f23997e8
commit cab742e641
6 changed files with 33 additions and 23 deletions
@@ -98,13 +98,14 @@ describe('MSelectedTourDetail', () => {
it('renders the selected tour through the shared detail dialog and elevation profile', () => {
render(<MSelectedTourDetail planner={planner()} />)
expect(screen.getAllByText('Track Stats')).toHaveLength(1)
expect(screen.getByRole('dialog')).toBeInTheDocument()
expect(document.querySelector('#tour-elevation-42')).toBeInTheDocument()
})
it('renders nothing for an ordinary selected place', () => {
render(<MSelectedTourDetail planner={planner({ selectedTour: null })} />)
expect(screen.queryByText('Track Stats')).not.toBeInTheDocument()
expect(screen.queryByRole('dialog')).not.toBeInTheDocument()
expect(document.querySelector('#tour-elevation-42')).not.toBeInTheDocument()
})
})
@@ -76,6 +76,15 @@ export const adminHandlers = [
return HttpResponse.json({ enabled: body.enabled });
}),
http.get('/api/admin/tours-wanderer', () => {
return HttpResponse.json({ enabled: false });
}),
http.put('/api/admin/tours-wanderer', async ({ request }) => {
const body = await request.json() as Record<string, unknown>;
return HttpResponse.json({ enabled: body.enabled });
}),
http.get('/api/admin/addons', () => {
return HttpResponse.json({ addons: [] });
}),