From 983b249de08f61dafec5985fb5c12cdd4535b3ef Mon Sep 17 00:00:00 2001 From: Mrugesh Mohapatra Date: Mon, 20 Apr 2026 10:01:26 +0530 Subject: [PATCH] test(client): stabilize UI regression tests Replace brittle client snapshot coverage with explicit assertions so the updated test stack no longer depends on snapshot state initialization. Update the react-i18next mock to avoid mutating function component defaultProps while preserving WrappedComponent metadata for layout tests. --- client/__mocks__/react-i18next.js | 12 +- .../Footer/__snapshots__/footer.test.tsx.snap | 458 ------------------ client/src/components/Footer/footer.test.tsx | 34 +- .../__snapshots__/loader.test.tsx.snap | 23 - .../block-save-button.test.tsx.snap | 12 - .../helpers/form/block-save-button.test.tsx | 6 +- client/src/components/helpers/loader.test.tsx | 10 +- .../__snapshots__/profile.test.tsx.snap | 328 ------------- .../timeline-buttons.test.jsx.snap | 451 ----------------- .../components/timeline-buttons.test.jsx | 37 +- .../src/components/profile/profile.test.tsx | 20 +- .../__snapshots__/honesty.test.tsx.snap | 135 ------ .../src/components/settings/honesty.test.tsx | 27 +- .../challenge-title.test.tsx.snap | 62 --- .../components/challenge-title.test.tsx | 12 +- .../__snapshots__/block-intros.test.tsx.snap | 22 - .../components/block-intros.test.tsx | 11 +- 17 files changed, 122 insertions(+), 1538 deletions(-) delete mode 100644 client/src/components/Footer/__snapshots__/footer.test.tsx.snap delete mode 100644 client/src/components/helpers/__snapshots__/loader.test.tsx.snap delete mode 100644 client/src/components/helpers/form/__snapshots__/block-save-button.test.tsx.snap delete mode 100644 client/src/components/profile/__snapshots__/profile.test.tsx.snap delete mode 100644 client/src/components/profile/components/__snapshots__/timeline-buttons.test.jsx.snap delete mode 100644 client/src/components/settings/__snapshots__/honesty.test.tsx.snap delete mode 100644 client/src/templates/Challenges/components/__snapshots__/challenge-title.test.tsx.snap delete mode 100644 client/src/templates/Introduction/components/__snapshots__/block-intros.test.tsx.snap diff --git a/client/__mocks__/react-i18next.js b/client/__mocks__/react-i18next.js index 3157ba82a4c..600e23b0136 100644 --- a/client/__mocks__/react-i18next.js +++ b/client/__mocks__/react-i18next.js @@ -35,8 +35,16 @@ const renderNodes = reactNodes => { }; const withTranslation = () => Component => { - Component.defaultProps = { ...Component.defaultProps, t: str => str }; - return Component; + const WrappedComponent = props => + React.createElement(Component, { + ...props, + t: props.t ?? (str => str) + }); + + WrappedComponent.WrappedComponent = Component; + WrappedComponent.displayName = `withTranslation(${Component.displayName || Component.name || 'Component'})`; + + return WrappedComponent; }; const useTranslation = () => { diff --git a/client/src/components/Footer/__snapshots__/footer.test.tsx.snap b/client/src/components/Footer/__snapshots__/footer.test.tsx.snap deleted file mode 100644 index f31b899e02a..00000000000 --- a/client/src/components/Footer/__snapshots__/footer.test.tsx.snap +++ /dev/null @@ -1,458 +0,0 @@ -// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html - -exports[`