From 8a1acbd5ef481d753a72cec229a15ba107734bdb Mon Sep 17 00:00:00 2001 From: Jonathan Tredway Date: Fri, 24 Sep 2021 12:35:38 -0500 Subject: [PATCH] Address feedback Co-authored-by: Patrick Hulce Co-authored-by: Patrick Hulce --- docs/configuration.md | 4 ++-- packages/server/src/cron/psi-collect.js | 6 ++++-- packages/server/test/cron/psi-collect.test.js | 4 ++-- packages/utils/src/psi-runner.js | 6 +++--- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 6bf297d49..408c29f3e 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1002,7 +1002,7 @@ _Optional_ The "branch" on which to report the results. Defaults to the base bra ##### `psiCollectCron.sites[i].maxNumberOfParallelUrls` -_Optional_ The maximum number of requests to send to the pagespeed insights api concurrently. Defaults to `Infinity` (all urls sent in parallel). +_Optional_ The maximum number of requests to send to the PageSpeed Insights API concurrently. Defaults to `Infinity` (all urls sent in parallel). ##### `psiCollectCron.sites[i].categories` @@ -1010,7 +1010,7 @@ _Optional_ An array containing the categories to test for each url in this site. ##### `psiCollectCron.sites[i].strategy` -_Optional_ The strategy that the pagespeed insights api should use when testing each url in this site. Can be either `desktop` or `mobile`. Defaults to `mobile`. +_Optional_ The strategy that the PageSpeed Insights API should use when testing each url in this site. Can be either `desktop` or `mobile`. Defaults to `mobile`. #### `deleteOldBuildsCron` diff --git a/packages/server/src/cron/psi-collect.js b/packages/server/src/cron/psi-collect.js index 728929b28..552455da2 100644 --- a/packages/server/src/cron/psi-collect.js +++ b/packages/server/src/cron/psi-collect.js @@ -23,7 +23,6 @@ async function psiCollectForProject(storageMethod, psi, site) { projectSlug, numberOfRuns = 5, maxNumberOfParallelUrls = Infinity, - categories = ['performance', 'accessibility', 'best-practices', 'pwa', 'seo'], strategy = 'mobile', } = site; const project = await storageMethod.findProjectBySlug(projectSlug); @@ -57,7 +56,10 @@ async function psiCollectForProject(storageMethod, psi, site) { urls, async url => { for (let i = 0; i < numberOfRuns; i++) { - const lhr = await psi.runUntilSuccess(url, {psiStrategy: strategy, categories: categories}); + const lhr = await psi.runUntilSuccess(url, { + psiStrategy: strategy, + psiCategories: site.categories, + }); await storageMethod.createRun({ projectId: project.id, buildId: build.id, diff --git a/packages/server/test/cron/psi-collect.test.js b/packages/server/test/cron/psi-collect.test.js index 9fecca80b..8635af3fb 100644 --- a/packages/server/test/cron/psi-collect.test.js +++ b/packages/server/test/cron/psi-collect.test.js @@ -100,11 +100,11 @@ describe('cron/psi-collect', () => { expect(psi.runUntilSuccess).toHaveBeenCalledWith( 'http://example.com', - expect.objectContaining({categories: site.categories}) + expect.objectContaining({psiCategories: site.categories}) ); expect(psi.runUntilSuccess).toHaveBeenCalledWith( 'http://example2.com', - expect.objectContaining({categories: site.categories}) + expect.objectContaining({psiCategories: site.categories}) ); }); diff --git a/packages/utils/src/psi-runner.js b/packages/utils/src/psi-runner.js index 8b046f885..58efffb70 100644 --- a/packages/utils/src/psi-runner.js +++ b/packages/utils/src/psi-runner.js @@ -19,7 +19,7 @@ class PsiRunner { /** * @param {string} url - * @param {{psiApiKey?: string, psiApiEndpoint?: string, psiStrategy?: 'mobile'|'desktop', categories?: Array<'performance' | 'accessibility' | 'best-practices' | 'pwa' | 'seo'>}} [options] + * @param {{psiApiKey?: string, psiApiEndpoint?: string, psiStrategy?: 'mobile'|'desktop', psiCategories?: Array<'performance' | 'accessibility' | 'best-practices' | 'pwa' | 'seo'>}} [options] * @return {Promise} */ async run(url, options) { @@ -28,13 +28,13 @@ class PsiRunner { if (!apiKey) throw new Error('PSI API key must be provided to use the PSI runner'); const client = new PsiClient({apiKey, endpointURL: options.psiApiEndpoint}); return JSON.stringify( - await client.run(url, {strategy: options.psiStrategy, categories: options.categories}) + await client.run(url, {strategy: options.psiStrategy, categories: options.psiCategories}) ); } /** * @param {string} url - * @param {{psiApiKey?: string, psiApiEndpoint?: string, psiStrategy?: 'mobile'|'desktop', categories?: Array<'performance' | 'accessibility' | 'best-practices' | 'pwa' | 'seo'>}} [options] + * @param {{psiApiKey?: string, psiApiEndpoint?: string, psiStrategy?: 'mobile'|'desktop', psiCategories?: Array<'performance' | 'accessibility' | 'best-practices' | 'pwa' | 'seo'>}} [options] * @return {Promise} */ async runUntilSuccess(url, options = {}) {