2021-06-17 16:33:45 +03:00
|
|
|
const { get, getDOM } = require('../helpers/supertest')
|
2020-11-20 21:33:11 +03:00
|
|
|
|
2021-03-02 01:04:27 +03:00
|
|
|
describe('release notes', () => {
|
2020-11-20 21:33:11 +03:00
|
|
|
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 () => {
|
2020-12-14 18:16:29 +03:00
|
|
|
const res = await get('/en/enterprise-server@2.19/admin/release-notes')
|
2020-11-20 21:33:11 +03:00
|
|
|
expect(res.statusCode).toBe(302)
|
2020-12-14 18:16:29 +03:00
|
|
|
expect(res.headers.location).toBe('https://enterprise.github.com/releases/2.19.0/notes')
|
2020-11-20 21:33:11 +03:00
|
|
|
})
|
|
|
|
|
2020-12-14 18:16:29 +03:00
|
|
|
it('renders the release-notes layout if this version\'s release notes are in this repo', async () => {
|
2021-06-17 23:06:43 +03:00
|
|
|
const res = await get('/en/enterprise-server@2.22/admin/release-notes')
|
|
|
|
expect(res.statusCode).toBe(200)
|
2021-06-17 16:33:45 +03:00
|
|
|
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)
|
2020-12-14 18:16:29 +03:00
|
|
|
})
|
2021-03-02 03:18:39 +03:00
|
|
|
|
|
|
|
it('renders the release-notes layout for GitHub AE', async () => {
|
2021-06-17 23:06:43 +03:00
|
|
|
const res = await get('/en/github-ae@latest/admin/release-notes')
|
|
|
|
expect(res.statusCode).toBe(200)
|
2021-06-17 16:33:45 +03:00
|
|
|
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)
|
2021-03-02 03:18:39 +03:00
|
|
|
})
|
2020-11-20 21:33:11 +03:00
|
|
|
})
|