From e9a67856777d9cf1524a7c36d14443e26ff32d82 Mon Sep 17 00:00:00 2001 From: Amin Date: Mon, 9 Jun 2025 12:05:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8E=20Jest=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=B3=D0=BD?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D0=BD=D1=81=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20axios;=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20=D0=B2?= =?UTF-8?q?=D1=85=D0=BE=D0=B4=D0=B0=20=D0=BF=D0=BE=20=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=D1=8F;=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20i18n=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82=D0=BA=D0=BB?= =?UTF-8?q?=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=D1=81=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20Suspen?= =?UTF-8?q?se;=20=D0=BE=D0=B1=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=B4=D0=B5=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20=D0=B2=20Sus?= =?UTF-8?q?pense=20=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=BD=D0=BE=D0=B9=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/jest/jest.config.ts | 1 + .../services/loginByUsername/loginByUsername.test.ts | 5 +++++ src/shared/config/i18n/i18nForTests.ts | 1 + .../lib/tests/componentRender/componentRender.tsx | 10 ++++++---- src/widgets/Sidebar/ui/Sidebar/Sidebar.test.tsx | 8 +++++--- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/config/jest/jest.config.ts b/config/jest/jest.config.ts index c91ece3..b48f59b 100644 --- a/config/jest/jest.config.ts +++ b/config/jest/jest.config.ts @@ -22,6 +22,7 @@ export default { '\\.s?css$': 'identity-obj-proxy', '\\.svg': path.resolve(__dirname, 'jestEmptyComponent.tsx'), }, + transformIgnorePatterns: ['/node_modules/(?!axios)'], // Indicates whether the coverage information should be collected while executing the test // collectCoverage: false, diff --git a/src/features/AuthByUsername/model/services/loginByUsername/loginByUsername.test.ts b/src/features/AuthByUsername/model/services/loginByUsername/loginByUsername.test.ts index e69de29..23c1249 100644 --- a/src/features/AuthByUsername/model/services/loginByUsername/loginByUsername.test.ts +++ b/src/features/AuthByUsername/model/services/loginByUsername/loginByUsername.test.ts @@ -0,0 +1,5 @@ +describe('loginByUsername.test', () => { + test('test', () => { + expect(1).toBe(1); + }); +}); diff --git a/src/shared/config/i18n/i18nForTests.ts b/src/shared/config/i18n/i18nForTests.ts index 75682db..576d49f 100644 --- a/src/shared/config/i18n/i18nForTests.ts +++ b/src/shared/config/i18n/i18nForTests.ts @@ -9,6 +9,7 @@ i18n.use(initReactI18next).init({ interpolation: { escapeValue: false, // not needed for react!! }, + react: { useSuspense: false }, resources: { ru: { translations: {} } }, }); diff --git a/src/shared/lib/tests/componentRender/componentRender.tsx b/src/shared/lib/tests/componentRender/componentRender.tsx index 1da1958..364961a 100644 --- a/src/shared/lib/tests/componentRender/componentRender.tsx +++ b/src/shared/lib/tests/componentRender/componentRender.tsx @@ -2,7 +2,7 @@ import type { DeepPartial } from '@reduxjs/toolkit'; import { render } from '@testing-library/react'; import type { StateSchema } from 'app/providers/StoreProvider'; import { StoreProvider } from 'app/providers/StoreProvider'; -import type { ReactNode } from 'react'; +import { Suspense, type ReactNode } from 'react'; import { I18nextProvider } from 'react-i18next'; import { MemoryRouter } from 'react-router-dom'; import i18nForTests from 'shared/config/i18n/i18nForTests'; @@ -17,9 +17,11 @@ export function componentRender(component: ReactNode, options: componentRenderOp return render( - - {component} - + + + {component} + + , ); } diff --git a/src/widgets/Sidebar/ui/Sidebar/Sidebar.test.tsx b/src/widgets/Sidebar/ui/Sidebar/Sidebar.test.tsx index 0c7260a..492d8b4 100644 --- a/src/widgets/Sidebar/ui/Sidebar/Sidebar.test.tsx +++ b/src/widgets/Sidebar/ui/Sidebar/Sidebar.test.tsx @@ -1,15 +1,17 @@ import { fireEvent, screen } from '@testing-library/react'; -import { Sidebar } from 'widgets/Sidebar/ui/Sidebar/Sidebar'; import { componentRender } from 'shared/lib/tests/componentRender/componentRender'; +import { Sidebar } from 'widgets/Sidebar/ui/Sidebar/Sidebar'; describe('Sidebar', () => { - test('with only first param', () => { + beforeEach(() => { componentRender(); + }); + + test('with only first param', () => { expect(screen.getByTestId('sidebar')).toBeInTheDocument(); }); test('test toggle', () => { - componentRender(); const toggleBtn = screen.getByTestId('sidebar-toggle'); expect(screen.getByTestId('sidebar')).toBeInTheDocument(); fireEvent.click(toggleBtn);