|
1 | 1 | const path = require('path') |
2 | 2 | const cheerio = require('cheerio') |
3 | 3 | const Page = require('../../lib/page') |
4 | | -const allVersionIds = Object.keys(require('../../lib/all-versions')) |
| 4 | +const prerenderedObjects = require('../../lib/graphql/static/prerendered-objects') |
| 5 | +const allVersions = require('../../lib/all-versions') |
5 | 6 | const enterpriseServerReleases = require('../../lib/enterprise-server-releases') |
6 | 7 | const nonEnterpriseDefaultVersion = require('../../lib/non-enterprise-default-version') |
7 | 8 | // get the `free-pro-team` segment of `free-pro-team@latest` |
@@ -90,6 +91,13 @@ describe('Page class', () => { |
90 | 91 | expect($(`a[href="/en/${nonEnterpriseDefaultVersion}/articles/about-pull-requests"]`).length).toBeGreaterThan(0) |
91 | 92 | }) |
92 | 93 |
|
| 94 | + test('rewrites links on prerendered GraphQL page include the current language prefix and version', async () => { |
| 95 | + const graphqlVersion = allVersions[nonEnterpriseDefaultVersion].miscVersionName |
| 96 | + const $ = cheerio.load(prerenderedObjects[graphqlVersion].html) |
| 97 | + expect($('a[href^="/graphql/reference/input-objects"]').length).toBe(0) |
| 98 | + expect($(`a[href^="/en/${nonEnterpriseDefaultVersion}/graphql/reference/input-objects"]`).length).toBeGreaterThan(0) |
| 99 | + }) |
| 100 | + |
93 | 101 | test('rewrites links in the intro to include the current language prefix and version', async () => { |
94 | 102 | const page = new Page(opts) |
95 | 103 | page.rawIntro = '[Pull requests](/articles/about-pull-requests)' |
@@ -151,7 +159,7 @@ describe('Page class', () => { |
151 | 159 | const context = { |
152 | 160 | currentVersion: `enterprise-server@${enterpriseServerReleases.latest}`, |
153 | 161 | currentLanguage: 'en', |
154 | | - enterpriseServerVersions: allVersionIds.filter(id => id.startsWith('enterprise-server@')) |
| 162 | + enterpriseServerVersions: Object.keys(allVersions).filter(id => id.startsWith('enterprise-server@')) |
155 | 163 | } |
156 | 164 | let rendered = await page.render(context) |
157 | 165 | let $ = cheerio.load(rendered) |
|
0 commit comments