Skip to content

Commit

Permalink
feat: main merge
Browse files Browse the repository at this point in the history
  • Loading branch information
dipratap committed Sep 4, 2024
2 parents c1ff8ac + 4ef513d commit f17d565
Show file tree
Hide file tree
Showing 14 changed files with 228 additions and 97 deletions.
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
## [1.30.3](https://github.com/adobe/spacecat-audit-worker/compare/v1.30.2...v1.30.3) (2024-09-04)


### Bug Fixes

* **deps:** update dependency @adobe/spacecat-shared-google-client to v1.2.3 ([#395](https://github.com/adobe/spacecat-audit-worker/issues/395)) ([e92d4cd](https://github.com/adobe/spacecat-audit-worker/commit/e92d4cd9223d35f959a000134e1660c6b2d15a21))

## [1.30.2](https://github.com/adobe/spacecat-audit-worker/compare/v1.30.1...v1.30.2) (2024-09-04)


### Bug Fixes

* **experimentation-ess:** audit url calculating for rum bundler API ([#389](https://github.com/adobe/spacecat-audit-worker/issues/389)) ([488a9a7](https://github.com/adobe/spacecat-audit-worker/commit/488a9a7fdcc248a8f49e30b211f6c36d3aa68091))

## [1.30.1](https://github.com/adobe/spacecat-audit-worker/compare/v1.30.0...v1.30.1) (2024-09-04)


### Bug Fixes

* **deps:** update dependency @adobe/spacecat-shared-ahrefs-client to v1.5.2 ([#394](https://github.com/adobe/spacecat-audit-worker/issues/394)) ([6e684ff](https://github.com/adobe/spacecat-audit-worker/commit/6e684ffebf30ab4fdd633f2a4419c646675e80e7))

# [1.30.0](https://github.com/adobe/spacecat-audit-worker/compare/v1.29.2...v1.30.0) (2024-09-03)


### Bug Fixes

* **deps:** update dependency @adobe/spacecat-shared-rum-api-client to v2.9.0 ([#388](https://github.com/adobe/spacecat-audit-worker/issues/388)) ([b55e4fb](https://github.com/adobe/spacecat-audit-worker/commit/b55e4fb993a7d3f782e4e2109ce63c46e2df74bf))


### Features

* high bounce rate and low ctr opportunities ([#384](https://github.com/adobe/spacecat-audit-worker/issues/384)) ([33aa025](https://github.com/adobe/spacecat-audit-worker/commit/33aa0257031ddc92c47718aaf100a30cf7662a61))

## [1.29.3](https://github.com/adobe/spacecat-audit-worker/compare/v1.29.2...v1.29.3) (2024-09-03)


### Bug Fixes

* **deps:** update dependency @adobe/spacecat-shared-rum-api-client to v2.9.0 ([#388](https://github.com/adobe/spacecat-audit-worker/issues/388)) ([b55e4fb](https://github.com/adobe/spacecat-audit-worker/commit/b55e4fb993a7d3f782e4e2109ce63c46e2df74bf))

## [1.29.2](https://github.com/adobe/spacecat-audit-worker/compare/v1.29.1...v1.29.2) (2024-09-02)


### Bug Fixes

* **cwv:** audit url calculating for rum bundler API ([#386](https://github.com/adobe/spacecat-audit-worker/issues/386)) ([1ac8123](https://github.com/adobe/spacecat-audit-worker/commit/1ac8123b08d8e2fbb62c10addf9893ba3124019c))

## [1.29.1](https://github.com/adobe/spacecat-audit-worker/compare/v1.29.0...v1.29.1) (2024-08-28)


Expand Down
5 changes: 1 addition & 4 deletions default.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,5 @@
"updateTypes": ["patch", "minor"],
"automerge": true
}
],
"encrypted": {
"npmToken": "wcFMA/xDdHCJBTolAQ//cBnUY2GbbFUjxEW/JyLas0ZYKaS9XCOrP4FA7r43SwRV44ynLM0XIWB+ceGUFrTN8YWfvkbbMVFcxqKYFnjl2l1S/8G9jvvS7bJLZCd1WNk7oVkIXnpb76FE6FQe0giudOiaWo21QVORVEoN/G6du3EOEiCghLMSCMtjg9+0M9Qg9dFJFoUeAHxLhGMjU3kQFO89ljYjaEYA4dvY2Id4pQOx2l0K2T70hSvGhrDGnDyGzOdA3rtz5as+/LgASvOOsTvn9JRndN9G1vnWqHR8xJBibPOqRyJ82IH+pe/+fRex/4Dr1HxlVa9BPhLslAFgUZqTrmwVhZutwURd5sRYNbYiMCBNNjmuVSfIIv+3/y4yEimaQWoh5RVGNxfYddryOSL/FKGeIybuKpskhzTzjtohvu71EjBinyx0qw/O92gZ+UHIZqhOWfmIoGV/pLPjGqkboXYjeQmSauVl8e9by1QXDiGmKe0T16UblNAhU+sQJdneFE4UBflK61jnReAUOsRVFvn9vuVrOuF8zwdXPs8xb7vuE77wUg9M/2N7I+y3tzVtb4uHvoVjtzIlkBe37xkzunKCDbk/Hdgk4lGdlFeTpQYL8Q/rU0itnYHZwfUThgPq1BhP+rWxj6Qkv1DR1983yowG9Zv54bO42oGO6apVAMZQ4q8Bz15BK0TCQFzSdAHRSJq9bALOc/HK5GbEQQ7sZ1JU76jjSFXqeBMZs7A2jrm1yNJAJ7WW+zLgXLjm9s1e1epn4PXerD50ypBKZnKfhmnnBB67IlO4IVfOLIllq3N1dJT2q5zqGdfgMN1qbyCg2JlgVSM8k83wwYtdLXC+mfl+"
}
]
}
125 changes: 86 additions & 39 deletions package-lock.json

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@adobe/spacecat-audit-worker",
"version": "1.29.1",
"version": "1.30.3",
"description": "SpaceCat Audit Worker",
"main": "src/index.js",
"type": "module",
Expand Down Expand Up @@ -56,11 +56,11 @@
"@adobe/helix-status": "10.1.2",
"@adobe/helix-universal": "5.0.5",
"@adobe/helix-universal-logger": "3.0.18",
"@adobe/spacecat-shared-ahrefs-client": "1.5.1",
"@adobe/spacecat-shared-ahrefs-client": "1.5.2",
"@adobe/spacecat-shared-data-access": "1.43.3",
"@adobe/spacecat-shared-google-client": "1.2.2",
"@adobe/spacecat-shared-google-client": "1.2.3",
"@adobe/spacecat-shared-http-utils": "1.6.8",
"@adobe/spacecat-shared-rum-api-client": "2.8.0",
"@adobe/spacecat-shared-rum-api-client": "2.9.0",
"@adobe/spacecat-shared-rum-api-client-v1": "npm:@adobe/[email protected]",
"@aws-sdk/client-s3": "3.627.0",
"@aws-sdk/client-lambda": "3.637.0",
Expand Down
9 changes: 8 additions & 1 deletion src/common/audit.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
* governing permissions and limitations under the License.
*/

import { composeAuditURL } from '@adobe/spacecat-shared-utils';
import { composeAuditURL, hasText } from '@adobe/spacecat-shared-utils';
import { ok } from '@adobe/spacecat-shared-http-utils';
import URI from 'urijs';
import { retrieveSiteBySiteId } from '../utils/data-access.js';

export async function defaultMessageSender(resultMessage, context) {
Expand Down Expand Up @@ -52,6 +53,12 @@ export async function defaultUrlResolver(site) {
return composeAuditURL(site.getBaseURL());
}

export function wwwUrlResolver(site) {
const baseURL = site.getBaseURL();
const uri = new URI(baseURL);
return hasText(uri.subdomain()) ? baseURL.replace(/https?:\/\//, '') : baseURL.replace(/https?:\/\//, 'www.');
}

export async function noopUrlResolver(site) {
return site.getBaseURL();
}
Expand Down
2 changes: 2 additions & 0 deletions src/cwv/handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import RUMAPIClient from '@adobe/spacecat-shared-rum-api-client';
import { getRUMDomainkey } from '../support/utils.js';
import { AuditBuilder } from '../common/audit-builder.js';
import { wwwUrlResolver } from '../common/audit.js';

const DAILY_THRESHOLD = 1000;
const INTERVAL = 7; // days
Expand Down Expand Up @@ -41,5 +42,6 @@ export async function CWVRunner(auditUrl, context, site) {
}

export default new AuditBuilder()
.withUrlResolver(wwwUrlResolver)
.withRunner(CWVRunner)
.build();
2 changes: 2 additions & 0 deletions src/experimentation-ess/all.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
/* c8 ignore start */
import { AuditBuilder } from '../common/audit-builder.js';
import { processAudit, postProcessor } from './common.js';
import { wwwUrlResolver } from '../common/audit.js';

const DAYS = 180;

Expand Down Expand Up @@ -79,6 +80,7 @@ export async function essExperimentationAllAuditRunner(auditUrl, context, site)

export default new AuditBuilder()
.withRunner(essExperimentationAllAuditRunner)
.withUrlResolver(wwwUrlResolver)
.withPostProcessors([postProcessor])
.withPersister(persistOnlyMetadata)
.withMessageSender(() => true)
Expand Down
2 changes: 2 additions & 0 deletions src/experimentation-ess/daily.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
/* c8 ignore start */
import { AuditBuilder } from '../common/audit-builder.js';
import { processAudit } from './common.js';
import { wwwUrlResolver } from '../common/audit.js';

const DAYS = 1;

Expand Down Expand Up @@ -44,5 +45,6 @@ export async function essExperimentationDailyAuditRunner(auditUrl, context, site

export default new AuditBuilder()
.withRunner(essExperimentationDailyAuditRunner)
.withUrlResolver(wwwUrlResolver)
.build();
/* c8 ignore stop */
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,17 @@
* governing permissions and limitations under the License.
*/

/* c8 ignore start */
import RUMAPIClient from '@adobe/spacecat-shared-rum-api-client';
import { AuditBuilder } from '../common/audit-builder.js';
import { getRUMDomainkey } from '../support/utils.js';
import { wwwUrlResolver } from '../common/audit.js';

const DAYS = 30;

let log = console;
const OPPTY_QUERIES = [
'rageclick',
'high-inorganic-high-bounce-rate',
'high-organic-low-ctr',
];

/**
* Audit handler container for all the opportunities
Expand All @@ -27,10 +30,8 @@ let log = console;
* @returns
*/

export async function opportunitiesHandler(auditUrl, context, site) {
log = context.log;
log.info(`Received Opportunities audit request for ${auditUrl}`);
const startTime = process.hrtime();
export async function handler(auditUrl, context, site) {
const { log } = context;

const rumAPIClient = RUMAPIClient.createFrom(context);
const domainkey = await getRUMDomainkey(site.getBaseURL(), context);
Expand All @@ -40,30 +41,21 @@ export async function opportunitiesHandler(auditUrl, context, site) {
interval: DAYS,
granularity: 'hourly',
};
const experimentationHandlers = ['rageclick'];
const queryResults = await rumAPIClient.queryMulti(experimentationHandlers, options);
const auditData = {
experimentationOpportunities: [],
};
for (const queryResult of Object.keys(queryResults)) {
if (experimentationHandlers.includes(queryResult)) {
auditData.experimentationOpportunities.push(...queryResults[queryResult]);
}
}

const endTime = process.hrtime(startTime);
const elapsedSeconds = endTime[0] + endTime[1] / 1e9;
const formattedElapsed = elapsedSeconds.toFixed(2);
const queryResults = await rumAPIClient.queryMulti(OPPTY_QUERIES, options);
const experimentationOpportunities = Object.values(queryResults).flatMap((oppty) => oppty);

log.info(`Opportunities Audit is completed in ${formattedElapsed} seconds for ${auditUrl}`);
log.info(`Found ${experimentationOpportunities.length} many experimentation opportunites for ${auditUrl}`);

return {
auditResult: auditData,
auditResult: {
experimentationOpportunities,
},
fullAuditRef: auditUrl,
};
}

export default new AuditBuilder()
.withRunner(opportunitiesHandler)
.withRunner(handler)
.withUrlResolver(wwwUrlResolver)
.build();
/* c8 ignore stop */
10 changes: 5 additions & 5 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ import experimentation from './experimentation/handler.js';
import conversion from './conversion/handler.js';
import essExperimentationDaily from './experimentation-ess/daily.js';
import essExperimentationAll from './experimentation-ess/all.js';
import experimentationOpportunities from './experimentation-opportunities/experimentation-opportunities.js';
import metaTags from './metatags/handler.js';
import opportunities from './opportunities/opportunities.js';
import costs from './costs/handler.js';
import structuredData from './structured-data/handler.js';

Expand All @@ -48,8 +48,8 @@ const HANDLERS = {
conversion,
'experimentation-ess-daily': essExperimentationDaily,
'experimentation-ess-all': essExperimentationAll,
'experimentation-opportunities': experimentationOpportunities,
'meta-tags': metaTags,
opportunities,
costs,
'structured-data': structuredData,
dummy: (message) => ok(message),
Expand All @@ -71,7 +71,7 @@ async function run(message, context) {
const { log } = context;
const { type, url } = message;

log.info(`Audit req received for url: ${url}`);
log.info(`Received ${type} audit request for: ${url}`);

const handler = HANDLERS[type];
if (!handler) {
Expand All @@ -85,11 +85,11 @@ async function run(message, context) {
try {
const result = await (typeof handler.run === 'function' ? handler.run(message, context) : handler(message, context));

log.info(`Audit for ${type} completed in ${getElapsedSeconds(startTime)} seconds`);
log.info(`${type} audit for ${url} completed in ${getElapsedSeconds(startTime)} seconds`);

return result;
} catch (e) {
log.error(`Audit failed after ${getElapsedSeconds(startTime)} seconds`, e);
log.error(`${type} audit for ${url} failed after ${getElapsedSeconds(startTime)} seconds`, e);
return internalServerError();
}
}
Expand Down
10 changes: 5 additions & 5 deletions test/audits/backlinks.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ describe('Backlinks Tests', function () {
auditResult: {
finalUrl: 'bar.foo.com',
brokenBacklinks: auditResult.backlinks,
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=bar.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22is_dofollow%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22is_content%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=bar.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
},
};

Expand Down Expand Up @@ -343,7 +343,7 @@ describe('Backlinks Tests', function () {
auditResult: {
finalUrl: 'bar.foo.com',
brokenBacklinks: auditResult.backlinks,
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=bar.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22is_dofollow%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22is_content%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=bar.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
},
};

Expand Down Expand Up @@ -394,7 +394,7 @@ describe('Backlinks Tests', function () {
auditResult: {
finalUrl: 'bar.foo.com',
brokenBacklinks: brokenBacklink.backlinks,
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=bar.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22is_dofollow%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22is_content%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=bar.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
},
};
const response = await auditBrokenBacklinks(message, context);
Expand Down Expand Up @@ -432,7 +432,7 @@ describe('Backlinks Tests', function () {
auditResult: {
finalUrl: 'www.foo.com',
brokenBacklinks: auditResult.backlinks,
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=www.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22is_dofollow%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22is_content%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=www.foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
},
};

Expand Down Expand Up @@ -498,7 +498,7 @@ describe('Backlinks Tests', function () {
auditResult: {
finalUrl: 'foo.com',
brokenBacklinks: auditResult.backlinks.concat(brokenBacklinkWithTimeout),
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22is_dofollow%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22is_content%22%2C%22is%22%3A%5B%22eq%22%2C1%5D%7D%2C%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
fullAuditRef: 'https://ahrefs.com/site-explorer/broken-backlinks?select=title%2Curl_from%2Curl_to%2Ctraffic_domain&limit=50&mode=prefix&order_by=domain_rating_source%3Adesc%2Ctraffic_domain%3Adesc&target=foo.com&output=json&where=%7B%22and%22%3A%5B%7B%22field%22%3A%22domain_rating_source%22%2C%22is%22%3A%5B%22gte%22%2C29.5%5D%7D%2C%7B%22field%22%3A%22traffic_domain%22%2C%22is%22%3A%5B%22gte%22%2C500%5D%7D%2C%7B%22field%22%3A%22links_external%22%2C%22is%22%3A%5B%22lte%22%2C300%5D%7D%5D%7D',
},
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { expect, use } from 'chai';
import sinon from 'sinon';
import sinonChai from 'sinon-chai';
import nock from 'nock';
import { opportunitiesHandler } from '../../src/opportunities/opportunities.js';
import { handler } from '../../src/experimentation-opportunities/experimentation-opportunities.js';
import { MockContextBuilder } from '../shared.js';
import opportunitiesData from '../fixtures/opportunitiesdata.json' assert { type: 'json' };

Expand Down Expand Up @@ -91,19 +91,22 @@ describe('Opportunities Tests', () => {
const site = {
getBaseURL: () => 'https://abc.com',
};
const auditData = await opportunitiesHandler(url, context, site);
const auditData = await handler(url, context, site);

expect(context.rumApiClient.queryMulti).calledWith(
['rageclick'],
{
domain: 'https://abc.com',
domainkey: 'abc_dummy_key',
interval: 30,
granularity: 'hourly',
},
);
const expected = Object.values(opportunitiesData).flatMap((data) => data);

expect(context.rumApiClient.queryMulti).calledWith([
'rageclick',
'high-inorganic-high-bounce-rate',
'high-organic-low-ctr',
], {
domain: 'https://abc.com',
domainkey: 'abc_dummy_key',
interval: 30,
granularity: 'hourly',
});
expect(
auditData.auditResult.experimentationOpportunities,
).to.deep.equal(opportunitiesData.rageclick);
).to.deep.equal(expected);
});
});
Loading

0 comments on commit f17d565

Please sign in to comment.