mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 13:36:48 +00:00
4346d7f2c1
A help icon on every screen opens a panel with the screen's overview, its sub-screens, task guides with a framed picture per step, search across guides and the wiki, and a switch to any other screen's help. Guides exist for the dashboard, Vacay, Atlas, Collections, Journey (list, journal, studio), Settings (all tabs), Admin (all tabs) and the trip frame; the trip's own screens are in progress. Pictures are produced by Playwright (client/e2e/help), texts in all 23 languages.
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { describe, it, expect } from 'vitest'
|
|
import { http, HttpResponse } from 'msw'
|
|
import { server } from '../../tests/helpers/msw/server'
|
|
import { searchHelp } from './help'
|
|
|
|
describe('searchHelp', () => {
|
|
it('asks /api/help/search with the query and limit and unwraps the hits', async () => {
|
|
let url = ''
|
|
server.use(
|
|
http.get('/api/help/search', ({ request }) => {
|
|
url = request.url
|
|
return HttpResponse.json({ hits: [{ slug: 'Home', title: 'Home', section: '', anchor: null, heading: null, snippet: 'x', score: 1 }] })
|
|
}),
|
|
)
|
|
const hits = await searchHelp('cover image', undefined, 3)
|
|
expect(hits).toHaveLength(1)
|
|
const params = new URL(url).searchParams
|
|
expect(params.get('q')).toBe('cover image')
|
|
expect(params.get('limit')).toBe('3')
|
|
})
|
|
|
|
it('rejects with the server error', async () => {
|
|
server.use(http.get('/api/help/search', () => HttpResponse.json({ error: 'A search query is required' }, { status: 400 })))
|
|
await expect(searchHelp('')).rejects.toBeTruthy()
|
|
})
|
|
})
|