diff --git a/apps/ssr-tests-v9/src/utils/helpers.ts b/apps/ssr-tests-v9/src/utils/helpers.ts index 32249a5af5f4f9..e71ea7a29f4139 100644 --- a/apps/ssr-tests-v9/src/utils/helpers.ts +++ b/apps/ssr-tests-v9/src/utils/helpers.ts @@ -3,3 +3,9 @@ export function hrToSeconds(hrtime: ReturnType): string { return raw.toFixed(2) + 's'; } + +export function containsAriaDescriptionWarning(message: string): boolean { + return message.startsWith( + 'Warning: Invalid aria prop %s on <%s> tag. For details, see https://reactjs.org/link/invalid-aria-props%s `aria-description`', + ); +} diff --git a/apps/ssr-tests-v9/src/utils/visitPage.ts b/apps/ssr-tests-v9/src/utils/visitPage.ts index 9db03634b4d211..f3831e0b370a45 100644 --- a/apps/ssr-tests-v9/src/utils/visitPage.ts +++ b/apps/ssr-tests-v9/src/utils/visitPage.ts @@ -1,6 +1,8 @@ import type { Browser } from 'puppeteer'; import { visitUrl } from '@fluentui/scripts-puppeteer'; import { PROVIDER_ID } from './constants'; +import * as React from 'react'; +import { containsAriaDescriptionWarning } from './helpers'; class RenderError extends Error { public name = 'RangeError'; @@ -14,9 +16,17 @@ export async function visitPage(browser: Browser, url: string) { page.on('console', message => { if (message.type() === 'error') { + const messageContent = message.text(); + + // Ignoring 'aria-description' warning from react 17 as it's a valid prop + // https://github.com/facebook/react/issues/21035 + if (containsAriaDescriptionWarning(messageContent) && React.version.startsWith('17')) { + return; + } + // Ignoring network errors as we have an interceptor that prevents loading everything except our JS bundle - if (!message.text().includes('net::ERR_FAILED')) { - error = new RenderError(message.text()); + if (!messageContent.includes('net::ERR_FAILED')) { + error = new RenderError(messageContent); } } });