1
0
mirror of synced 2025-12-21 10:57:10 -05:00
Files
docs/tests/unit/early-access.js
Mike Surowiec 6bc50f7e30 fix: filter hidden pages from the currentProductTree (SidebarProduct) (#20404)
* fix some async test things

* allow eslint to parse top-level awaits

* fix: filter out hidden pages closer to SidebarProduct usage
2021-07-20 12:32:35 -04:00

50 lines
1.7 KiB
JavaScript

import { jest } from '@jest/globals'
import { stat } from 'fs/promises'
import path from 'path'
import { testViaActionsOnly } from '../helpers/conditional-runs.js'
import { getDOM } from '../helpers/supertest.js'
import got from 'got'
jest.useFakeTimers()
describe('cloning early-access', () => {
testViaActionsOnly('the content directory exists', async () => {
const eaDir = path.join(process.cwd(), 'content/early-access')
expect(await stat(eaDir)).toBeTruthy()
})
testViaActionsOnly('the data directory exists', async () => {
const eaDir = path.join(process.cwd(), 'data/early-access')
expect(await stat(eaDir)).toBeTruthy()
})
testViaActionsOnly('the assets/images directory exists', async () => {
const eaDir = path.join(process.cwd(), 'assets/images/early-access')
expect(await stat(eaDir)).toBeTruthy()
})
})
describe('rendering early-access', () => {
jest.setTimeout(5 * 60 * 1000)
testViaActionsOnly('the top-level TOC renders locally', async () => {
const $ = await getDOM('/en/early-access')
expect(
$.html().includes('Hello, local developer! This page is not visible on production.')
).toBe(true)
expect($('ul a').length).toBeGreaterThan(5)
})
testViaActionsOnly('the top-level TOC does not render on production', async () => {
async function getEarlyAccess() {
return await got('https://docs.github.com/en/early-access')
}
await expect(getEarlyAccess).rejects.toThrowError('Response code 404 (Not Found)')
})
testViaActionsOnly('TOCs display on category pages', async () => {
const $ = await getDOM('/en/early-access/github/enforcing-best-practices-with-github-policies')
expect($('ul a').length).toBeGreaterThan(5)
})
})