| | import { describe, expect, test } from 'vitest' |
| | import cheerio from 'cheerio' |
| |
|
| | import { getDOMCached as getDOM } from '@/tests/helpers/e2etest' |
| |
|
| | describe('glossary', () => { |
| | test('headings are sorted alphabetically', async () => { |
| | const $: cheerio.Root = await getDOM('/get-started/learning-about-github/github-glossary') |
| | const headings = $('#article-contents h2') |
| | const headingTexts = headings.map((_: number, el: any) => $(el).text()).get() |
| | const cloned = [...headingTexts].sort((a: string, b: string) => a.localeCompare(b)) |
| | const equalStringArray = (a: string[], b: string[]) => |
| | a.length === b.length && a.every((v, i) => v === b[i]) |
| | expect(equalStringArray(headingTexts, cloned)).toBe(true) |
| | }) |
| | test('Markdown links are correct', async () => { |
| | const $: cheerio.Root = await getDOM('/get-started/learning-about-github/github-glossary') |
| | const internalLink = $('#article-contents a[href="/en/get-started/foo"]') |
| | expect(internalLink.length).toBe(1) |
| | |
| | expect(internalLink.text()).toBe('Fooing Around') |
| | }) |
| |
|
| | test('all Liquid is evaluated', async () => { |
| | const $: cheerio.Root = await getDOM('/get-started/learning-about-github/github-glossary') |
| | const paragraphs = $('#article-contents p') |
| | const paragraphTexts = paragraphs.map((_: number, el: any) => $(el).text()).get() |
| | expect(paragraphTexts.find((text: string) => text.includes('{%'))).toBe(undefined) |
| | }) |
| |
|
| | test('liquid in one of the description depends on version', async () => { |
| | |
| | { |
| | const $: cheerio.Root = await getDOM('/get-started/learning-about-github/github-glossary') |
| | const paragraphs = $('#article-contents p') |
| | const paragraphTexts = paragraphs |
| | .map((_: number, el: any) => $(el).text()) |
| | .get() |
| | .join('\n') |
| | expect(paragraphTexts).toContain('status check on HubGit.') |
| | } |
| |
|
| | |
| | { |
| | const $: cheerio.Root = await getDOM( |
| | '/enterprise-server@latest/get-started/learning-about-github/github-glossary', |
| | ) |
| | const paragraphs = $('#article-contents p') |
| | const paragraphTexts = paragraphs |
| | .map((_: number, el: any) => $(el).text()) |
| | .get() |
| | .join('\n') |
| | expect(paragraphTexts).toContain('status check on HubGit Enterprise Server.') |
| | } |
| | }) |
| | }) |
| |
|