forked from github/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrelease-notes.js
More file actions
42 lines (35 loc) · 1.75 KB
/
release-notes.js
File metadata and controls
42 lines (35 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { get, getDOM } from '../helpers/supertest.js'
import { jest } from '@jest/globals'
jest.useFakeTimers()
describe('release notes', () => {
jest.setTimeout(60 * 1000)
beforeAll(async () => {
// The first page load takes a long time so let's get it out of the way in
// advance to call out that problem specifically rather than misleadingly
// attributing it to the first test
await get('/')
})
it('redirects to the release notes on enterprise.github.com if none are present for this version here', async () => {
const res = await get('/en/enterprise-server@2.19/admin/release-notes')
expect(res.statusCode).toBe(302)
expect(res.headers.location).toBe('https://enterprise.github.com/releases/2.19.0/notes')
})
it("renders the release-notes layout if this version's release notes are in this repo", async () => {
const res = await get('/en/enterprise-server@2.22/admin/release-notes')
expect(res.statusCode).toBe(200)
const $ = await getDOM('/en/enterprise-server@2.22/admin/release-notes')
expect($('h1').text()).toBe('Enterprise Server 2.22 release notes')
expect($('h2').first().text().trim().startsWith('Enterprise Server 2.22.')).toBe(true)
})
it('renders the release-notes layout for GitHub AE', async () => {
const res = await get('/en/github-ae@latest/admin/release-notes')
expect(res.statusCode).toBe(200)
const $ = await getDOM('/en/github-ae@latest/admin/release-notes')
expect($('h1').text()).toBe('GitHub AE release notes')
expect($('h2').first().text().trim().startsWith('Week of')).toBe(true)
})
it('sends a 404 if a bogus version is requested', async () => {
const res = await get('/en/enterprise-server@12345/admin/release-notes')
expect(res.statusCode).toBe(404)
})
})