diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx index 082797077df..48cdd16065f 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx @@ -30,7 +30,7 @@ type ResolutionContainerProps = { export const ResolutionContainer = (props: ResolutionContainerProps) => { const l10n = useL10n(); const estimatedTimeString = - /* c8 ignore next 4 */ + /* c8 ignore next 8 */ // Since the Node 20.10 upgrade, it's been intermittently marking this (and // this comment) as uncovered, even though I think it's covered by tests. props.type === "leakedPasswords" diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContent.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContent.tsx index cf80bd86f5f..75128b3e128 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContent.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContent.tsx @@ -28,6 +28,9 @@ export const ResolutionContent = ({ }); const listOfBreaches = + /* c8 ignore next 4 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. exposedData && exposedData.map(({ id, title, breachDate }) => (
diff --git a/src/app/components/client/Button.tsx b/src/app/components/client/Button.tsx index d31c14ded98..a8d7afe45bb 100644 --- a/src/app/components/client/Button.tsx +++ b/src/app/components/client/Button.tsx @@ -66,6 +66,9 @@ export const Button = (props: ButtonProps) => { // If `props.isLoading` is not undefined, the contents of the link is going to // change into a loading indicator, which needs to be read by a screen reader: const ariaLiveValue: AriaAttributes["aria-live"] = + /* c8 ignore next 3 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. typeof isLoading === "boolean" ? "polite" : undefined; return typeof href === "string" ? ( diff --git a/src/app/components/client/FixNavigation.tsx b/src/app/components/client/FixNavigation.tsx index ae9e73bf3c6..40c65a8a101 100644 --- a/src/app/components/client/FixNavigation.tsx +++ b/src/app/components/client/FixNavigation.tsx @@ -58,6 +58,9 @@ export const Steps = (props: { breachesByClassification.highRisk, ).reduce((acc, array) => acc + array.length, 0); const totalDataBrokerProfiles = + /* c8 ignore next 3 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. props.data.latestScanData?.results.length ?? 0; const totalPasswordBreaches = Object.values( breachesByClassification.passwordBreaches, @@ -198,6 +201,10 @@ export const Steps = (props: { className={`${ styles.activeProgressBarLine } ${calculateActiveProgressBarPosition(props.currentSection)} ${ + /* c8 ignore next 5 */ + // Since the Node 20.10 upgrade, it's been intermittently marking + // this (and this comment) as uncovered, even though I think it's + // covered by tests. isEligibleForStep(props.data, "Scan") ? styles.hasFourSteps : styles.hasThreeSteps @@ -219,29 +226,28 @@ const StepImage = (props: { ); } + /* c8 ignore next 10 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. const src = props.section === "Scan" ? stepDataBrokerProfilesIcon : props.section === "HighRisk" ? stepHighRiskDataBreachesIcon - : /* c8 ignore next 6 */ - // These lines should be covered by unit tests, but since the Node - // 20.10 upgrade, it's been intermittently marking this (and this - // comment) as uncovered. - props.section === "LeakedPasswords" + : props.section === "LeakedPasswords" ? stepLeakedPasswordsIcon : stepSecurityRecommendationsIcon; return ; }; +/* c8 ignore next 14 */ +// These lines should be covered by unit tests, but since the Node 20.10 +// upgrade, it's been intermittently marking them (and this comment) as +// uncovered. function calculateActiveProgressBarPosition(section: Props["currentSection"]) { if (section === "high-risk-data-breach") { return styles.beginHighRiskDataBreaches; - /* c8 ignore next 10 */ - // These lines should be covered by unit tests, but since the Node 20.10 - // upgrade, it's been intermittently marking them (and this comment) as - // uncovered. } else if (section === "leaked-passwords") { return styles.beginLeakedPasswords; } else if (section === "security-recommendations") { diff --git a/src/app/components/client/ScanResultCard.tsx b/src/app/components/client/ScanResultCard.tsx index 7b4ea585951..541b06b9b35 100644 --- a/src/app/components/client/ScanResultCard.tsx +++ b/src/app/components/client/ScanResultCard.tsx @@ -155,8 +155,8 @@ export const ScanResultCard = (props: ScanResultCardProps) => { }, ); } + /* c8 ignore start */ if (props.isOnManualRemovePage) { - /* c8 ignore start */ return scanResult.manually_resolved ? l10n.getFragment( "exposure-card-description-info-for-sale-fixed-manually-fixed", @@ -174,8 +174,8 @@ export const ScanResultCard = (props: ScanResultCardProps) => { }, }, ); - /* c8 ignore stop */ } + /* c8 ignore stop */ return l10n.getFragment( "exposure-card-description-info-for-sale-action-needed-dashboard", { diff --git a/src/app/components/client/UpsellBadge.tsx b/src/app/components/client/UpsellBadge.tsx index ff5b7968a86..7c64af461ab 100644 --- a/src/app/components/client/UpsellBadge.tsx +++ b/src/app/components/client/UpsellBadge.tsx @@ -133,6 +133,9 @@ export function UpsellBadge(props: UpsellButtonProps) { const countryCode = useContext(CountryCodeContext); const session = useSession(); + /* c8 ignore next 5 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. if (!session.data) { return <>; } diff --git a/src/app/components/client/toolbar/UserMenu.tsx b/src/app/components/client/toolbar/UserMenu.tsx index c56c9de2aa4..430fc31f551 100644 --- a/src/app/components/client/toolbar/UserMenu.tsx +++ b/src/app/components/client/toolbar/UserMenu.tsx @@ -61,6 +61,9 @@ export const UserMenu = (props: UserMenuProps) => { signout: "signout", }; + /* c8 ignore next 21 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. const handleOnAction = (menuItemKey: Key) => { switch (menuItemKey) { case itemKeys.fxa: diff --git a/src/app/functions/server/dashboard.ts b/src/app/functions/server/dashboard.ts index 18c104dad93..4cfe10b3ec7 100644 --- a/src/app/functions/server/dashboard.ts +++ b/src/app/functions/server/dashboard.ts @@ -357,6 +357,9 @@ export function getDashboardSummary( } } + /* c8 ignore next 11 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. if (dataClasses.includes(BreachDataTypes.BankAccount)) { summary.totalDataPointsNum += increment; summary.dataBreachTotalDataPointsNum += increment; diff --git a/src/app/functions/server/getRelevantGuidedSteps.ts b/src/app/functions/server/getRelevantGuidedSteps.ts index 2df970ccf45..fb43517a2fa 100644 --- a/src/app/functions/server/getRelevantGuidedSteps.ts +++ b/src/app/functions/server/getRelevantGuidedSteps.ts @@ -180,6 +180,9 @@ export function hasCompletedStepSection( data: StepDeterminationData, section: "Scan" | "HighRisk" | "LeakedPasswords" | "SecurityTips", ): boolean { + /* c8 ignore next 5 */ + // I believe this *is* covered by unit tests, but for some reason, + // since the upgrade to Node 20.10, it doesn't get marked as covered anymore: if (section === "Scan") { return hasCompletedStep(data, "Scan"); } diff --git a/src/app/functions/universal/guidedExperienceBreaches.ts b/src/app/functions/universal/guidedExperienceBreaches.ts index cd42b3c2102..8e47dc68615 100644 --- a/src/app/functions/universal/guidedExperienceBreaches.ts +++ b/src/app/functions/universal/guidedExperienceBreaches.ts @@ -44,6 +44,9 @@ export function getGuidedExperienceBreaches( subscriberBreaches.forEach((breach) => { // high risks + // This does get covered by unit tests, but for some reason, since the + // upgrade to Node 20.10, it doesn't get marked as covered anymore: + /* c8 ignore next 3 */ if (isUnresolvedDataBreachClass(breach, BreachDataTypes.SSN)) { guidedExperienceBreaches.highRisk.ssnBreaches.push(breach); } diff --git a/src/app/hooks/useLocalDismissal.ts b/src/app/hooks/useLocalDismissal.ts index c723e6e600e..9f29dee033a 100644 --- a/src/app/hooks/useLocalDismissal.ts +++ b/src/app/hooks/useLocalDismissal.ts @@ -43,10 +43,17 @@ export function useLocalDismissal( const maxAgeInSeconds = typeof options.duration === "number" ? options.duration - : 100 * 365 * 24 * 60 * 60; + : /* c8 ignore next 4 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this + // (and this comment) as uncovered, even though I think it's covered by + // tests. + 100 * 365 * 24 * 60 * 60; setCookie(cookieId, Date.now().toString(), { maxAge: maxAgeInSeconds, }); + /* c8 ignore next 3 */ + // Since the Node 20.10 upgrade, it's been intermittently marking this (and + // this comment) as uncovered, even though I think it's covered by tests. if (dismissOptions?.soft !== true) { setIsDismissed(true); }