| import { describe, expect, test, vi } from 'vitest' |
| import { get, getDOM } from '@/tests/helpers/e2etest' |
|
|
| describe('search results page', () => { |
| vi.setConfig({ testTimeout: 60 * 1000 }) |
|
|
| test('says something if no query is provided', async (): Promise<void> => { |
| const { $ } = await getDOM('/en/search') |
| const $container = $('[data-testid="search-results"]') |
| expect($container.text()).toMatch(/Enter a search term/) |
| |
| expect($('title').text()).toMatch('Search - GitHub Docs') |
| }) |
|
|
| test('says something if query is empty', async (): Promise<void> => { |
| const queryParams = new URLSearchParams({ query: ' ' }).toString() |
| const { $ } = await getDOM(`/en/search?${queryParams}`) |
| const $container = $('[data-testid="search-results"]') |
| expect($container.text()).toMatch(/Enter a search term/) |
| }) |
|
|
| test('mentions search term in h1', async (): Promise<void> => { |
| const searchTerm = 'peterbe' |
| const queryParams = new URLSearchParams({ query: searchTerm }).toString() |
| const { $ } = await getDOM(`/en/search?${queryParams}`) |
| const $container = $('[data-testid="search-results"]') |
| const h1Text: string = $container.find('h1').text() |
|
|
| expect(h1Text).toMatch(/Search results for/) |
| expect(h1Text).toMatch(new RegExp(searchTerm)) |
| expect($('title').text()).toMatch(new RegExp(`Search results for "${searchTerm}"`)) |
| }) |
|
|
| test('invalid version prefix 404s', async (): Promise<void> => { |
| const queryParams = new URLSearchParams({ query: 'peterbe' }).toString() |
| const response = await get(`/en/enterprise-stuff@3.10/search?${queryParams}`) |
|
|
| expect(response.statusCode).toBe(404) |
| }) |
| }) |
|
|