From df2e3be178bf434d48db42762b9bbd3249e4cf92 Mon Sep 17 00:00:00 2001 From: Robert Sese Date: Wed, 27 Oct 2021 17:31:41 -0500 Subject: [PATCH] =?UTF-8?q?Small=20bits=20of=20test=20cleanup=20?= =?UTF-8?q?=F0=9F=A7=B9=20(#22442)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Unskip test, ghec graphql version added * Link to test skip issue * Stray console.log ✂️ --- tests/content/graphql.js | 122 ++++++++++++++------------------- tests/content/webhooks.js | 1 + tests/rendering/breadcrumbs.js | 1 - 3 files changed, 53 insertions(+), 71 deletions(-) diff --git a/tests/content/graphql.js b/tests/content/graphql.js index 8133ebc194..b6d2be45e8 100644 --- a/tests/content/graphql.js +++ b/tests/content/graphql.js @@ -22,100 +22,82 @@ describe('graphql json files', () => { test('static files have versions as top-level keys', () => { graphqlVersions.forEach((version) => { - // todo: remove if check once we have API/webhook versions for ghec - if (version !== 'ghec') { - expect(version in previewsJson).toBe(true) - expect(version in upcomingChangesJson).toBe(true) - expect(version in prerenderedObjectsJson).toBe(true) - } + expect(version in previewsJson).toBe(true) + expect(version in upcomingChangesJson).toBe(true) + expect(version in prerenderedObjectsJson).toBe(true) }) }) test('schemas object validation', () => { graphqlVersions.forEach((version) => { - // todo: remove if check once we have API/webhook versions for ghec - if (version !== 'ghec') { - const schemaJsonPerVersion = JSON.parse( - fs.readFileSync(path.join(process.cwd(), `lib/graphql/static/schema-${version}.json`)) - ) - // all graphql types are arrays except for queries - graphqlTypes - .filter((type) => type !== 'queries') - .forEach((type) => { - schemaJsonPerVersion[type].forEach((typeObj) => { - const { valid, errors } = revalidator.validate(typeObj, schemaValidator[type]) - const errorMessage = JSON.stringify(errors, null, 2) - expect(valid, errorMessage).toBe(true) - }) + const schemaJsonPerVersion = JSON.parse( + fs.readFileSync(path.join(process.cwd(), `lib/graphql/static/schema-${version}.json`)) + ) + // all graphql types are arrays except for queries + graphqlTypes + .filter((type) => type !== 'queries') + .forEach((type) => { + schemaJsonPerVersion[type].forEach((typeObj) => { + const { valid, errors } = revalidator.validate(typeObj, schemaValidator[type]) + const errorMessage = JSON.stringify(errors, null, 2) + expect(valid, errorMessage).toBe(true) }) - - // check query connections separately - schemaJsonPerVersion.queries.connections.forEach((connection) => { - const { valid, errors } = revalidator.validate( - connection, - schemaValidator.queryConnections - ) - const errorMessage = JSON.stringify(errors, null, 2) - expect(valid, errorMessage).toBe(true) }) - // check query fields separately - schemaJsonPerVersion.queries.fields.forEach((field) => { - const { valid, errors } = revalidator.validate(field, schemaValidator.queryFields) - const errorMessage = JSON.stringify(errors, null, 2) - expect(valid, errorMessage).toBe(true) - }) - } + // check query connections separately + schemaJsonPerVersion.queries.connections.forEach((connection) => { + const { valid, errors } = revalidator.validate(connection, schemaValidator.queryConnections) + const errorMessage = JSON.stringify(errors, null, 2) + expect(valid, errorMessage).toBe(true) + }) + + // check query fields separately + schemaJsonPerVersion.queries.fields.forEach((field) => { + const { valid, errors } = revalidator.validate(field, schemaValidator.queryFields) + const errorMessage = JSON.stringify(errors, null, 2) + expect(valid, errorMessage).toBe(true) + }) }) }) test('previews object validation', () => { graphqlVersions.forEach((version) => { - // todo: remove if check once we have API/webhook versions for ghec - if (version !== 'ghec') { - previewsJson[version].forEach((previewObj) => { - const { valid, errors } = revalidator.validate(previewObj, previewsValidator) - const errorMessage = JSON.stringify(errors, null, 2) - expect(valid, errorMessage).toBe(true) - }) - } + previewsJson[version].forEach((previewObj) => { + const { valid, errors } = revalidator.validate(previewObj, previewsValidator) + const errorMessage = JSON.stringify(errors, null, 2) + expect(valid, errorMessage).toBe(true) + }) }) }) test('upcoming changes object validation', () => { graphqlVersions.forEach((version) => { - // todo: remove if check once we have API/webhook versions for ghec - if (version !== 'ghec') { - Object.values(upcomingChangesJson[version]).forEach((changes) => { - // each object value is an array of changes - changes.forEach((changeObj) => { - const { valid, errors } = revalidator.validate(changeObj, upcomingChangesValidator) - const errorMessage = JSON.stringify(errors, null, 2) - expect(valid, errorMessage).toBe(true) - }) + Object.values(upcomingChangesJson[version]).forEach((changes) => { + // each object value is an array of changes + changes.forEach((changeObj) => { + const { valid, errors } = revalidator.validate(changeObj, upcomingChangesValidator) + const errorMessage = JSON.stringify(errors, null, 2) + expect(valid, errorMessage).toBe(true) }) - } + }) }) }) test('prerendered objects validation', () => { graphqlVersions.forEach((version) => { - // todo: remove if check once we have API/webhook versions for ghec - if (version !== 'ghec') { - // shape of prerenderedObject: { - // html:
foo
, - // miniToc: {contents: 'bar', headingLevel: N, indentationLevel: N} - // } - const prerenderedHtml = prerenderedObjectsJson[version].html - expect(typeof prerenderedHtml).toBe('string') - expect(prerenderedHtml.startsWith('
')).toBe(true) - const prerenderedMiniToc = prerenderedObjectsJson[version].miniToc - expect(Array.isArray(prerenderedMiniToc)).toBe(true) - expect(prerenderedMiniToc.length).toBeGreaterThan(0) - expect(typeof prerenderedMiniToc[0].contents).toBe('string') - expect(typeof prerenderedMiniToc[0].headingLevel).toBe('number') - expect(typeof prerenderedMiniToc[0].indentationLevel).toBe('number') - } + // shape of prerenderedObject: { + // html:
foo
, + // miniToc: {contents: 'bar', headingLevel: N, indentationLevel: N} + // } + const prerenderedHtml = prerenderedObjectsJson[version].html + expect(typeof prerenderedHtml).toBe('string') + expect(prerenderedHtml.startsWith('
')).toBe(true) + const prerenderedMiniToc = prerenderedObjectsJson[version].miniToc + expect(Array.isArray(prerenderedMiniToc)).toBe(true) + expect(prerenderedMiniToc.length).toBeGreaterThan(0) + expect(typeof prerenderedMiniToc[0].contents).toBe('string') + expect(typeof prerenderedMiniToc[0].headingLevel).toBe('number') + expect(typeof prerenderedMiniToc[0].indentationLevel).toBe('number') }) }) }) diff --git a/tests/content/webhooks.js b/tests/content/webhooks.js index 2ffe46a21e..c512852d18 100644 --- a/tests/content/webhooks.js +++ b/tests/content/webhooks.js @@ -28,6 +28,7 @@ describe('webhook payloads', () => { test('have expected top-level keys', () => { payloadVersions.forEach((version) => { // todo: remove if check once we have API/webhook versions for ghec + // Docs Engineering issue: 979 if (version !== 'ghec') { expect(version in webhookPayloads).toBe(true) } diff --git a/tests/rendering/breadcrumbs.js b/tests/rendering/breadcrumbs.js index 4f424d8b42..f0f28ef142 100644 --- a/tests/rendering/breadcrumbs.js +++ b/tests/rendering/breadcrumbs.js @@ -63,7 +63,6 @@ describe('breadcrumbs', () => { '/en/github-cli/github-cli/about-github-cli' ) const $breadcrumbs = $('[data-testid=breadcrumbs] a') - console.log(`dbg: breadcrumbs`, $breadcrumbs) expect($breadcrumbs).toHaveLength(3) expect($breadcrumbs[0].attribs.title).toBe('product: GitHub CLI') expect($breadcrumbs[1].attribs.title).toBe('category: GitHub CLI')