From 756cc363687752a3e0e0310d6f1e7b1d926d8a9c Mon Sep 17 00:00:00 2001 From: Timofey Boyko Date: Fri, 29 Dec 2023 16:06:40 +0300 Subject: [PATCH] Shared:Tests:Unit: add i18 mock, fix warnings --- .../shared/__mocks__/reacti18nextMock.tsx | 37 +++++++++++++++++++ packages/shared/components/cron/Cron.test.tsx | 2 +- packages/shared/components/cron/Cron.tsx | 4 +- .../drop-down-item/DropDownItem.tsx | 5 ++- .../components/textarea/Textarea.styled.tsx | 2 + packages/shared/jest.config.ts | 1 + 6 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 packages/shared/__mocks__/reacti18nextMock.tsx diff --git a/packages/shared/__mocks__/reacti18nextMock.tsx b/packages/shared/__mocks__/reacti18nextMock.tsx new file mode 100644 index 0000000000..f087de0ebe --- /dev/null +++ b/packages/shared/__mocks__/reacti18nextMock.tsx @@ -0,0 +1,37 @@ +/* eslint-disable react/display-name */ +/* eslint-disable @typescript-eslint/naming-convention */ +/* global jest */ + +const react_i18next: { + translate: () => ( + Component: React.JSXElementConstructor<{ + t: () => string; + }>, + ) => (props: {}) => JSX.Element; + useTranslation: (value: string) => { + t: (key: string) => string; + i18n: { + language: string; + }; + }; + language: string; + i18n: { + language: string; + }; +} = jest.genMockFromModule("react-i18next"); + +const translate = + () => + (Component: React.JSXElementConstructor<{ t: () => string }>) => + (props: {}) => ""} {...props} />; + +react_i18next.translate = translate; +react_i18next.useTranslation = () => ({ + t: () => "", + i18n: { + language: "en", + }, +}); +react_i18next.i18n = { language: "en" }; + +module.exports = react_i18next; diff --git a/packages/shared/components/cron/Cron.test.tsx b/packages/shared/components/cron/Cron.test.tsx index 74ffa99b76..2264cccea2 100644 --- a/packages/shared/components/cron/Cron.test.tsx +++ b/packages/shared/components/cron/Cron.test.tsx @@ -3,7 +3,7 @@ import { render, screen } from "@testing-library/react"; import "@testing-library/jest-dom"; -import { Cron } from "."; +import Cron from "./Cron"; test(": render without error", () => { render( {}} />); diff --git a/packages/shared/components/cron/Cron.tsx b/packages/shared/components/cron/Cron.tsx index b515081db6..9739fefa00 100644 --- a/packages/shared/components/cron/Cron.tsx +++ b/packages/shared/components/cron/Cron.tsx @@ -23,7 +23,7 @@ import { CronWrapper, Suffix } from "./Cron.styled"; import type { PeriodType, CronProps } from "./Cron.types"; -function Cron({ value = defaultCronString, setValue, onError }: CronProps) { +const Cron = ({ value = defaultCronString, setValue, onError }: CronProps) => { const { t } = useTranslation("Common"); const didMountRef = useRef(false); @@ -162,6 +162,6 @@ function Cron({ value = defaultCronString, setValue, onError }: CronProps) { {t("Common:UTC")} ); -} +}; export default Cron; diff --git a/packages/shared/components/drop-down-item/DropDownItem.tsx b/packages/shared/components/drop-down-item/DropDownItem.tsx index 4782c123d4..34be3add92 100644 --- a/packages/shared/components/drop-down-item/DropDownItem.tsx +++ b/packages/shared/components/drop-down-item/DropDownItem.tsx @@ -22,7 +22,7 @@ const DropDownItem = (props: DropDownItemProps) => { isHeader, withHeaderArrow, headerArrowAction, - label, + icon, children, disabled, @@ -41,7 +41,8 @@ const DropDownItem = (props: DropDownItemProps) => { const { t } = useTranslation(["Settings"]); - const { withToggle, checked, onClick, onClickSelectedItem, ...rest } = props; + const { withToggle, checked, onClick, onClickSelectedItem, label, ...rest } = + props; const onClickAction = ( e: React.MouseEvent | React.ChangeEvent, diff --git a/packages/shared/components/textarea/Textarea.styled.tsx b/packages/shared/components/textarea/Textarea.styled.tsx index 6ec36840c6..2755d447ee 100644 --- a/packages/shared/components/textarea/Textarea.styled.tsx +++ b/packages/shared/components/textarea/Textarea.styled.tsx @@ -72,6 +72,8 @@ const ClearTextareaAutosize = React.forwardRef( paddingLeftProp, isJSONField, enableCopy, + heightTextAreaProp, + heightTextArea, ...props }: TextareaProps & { disabled?: boolean; diff --git a/packages/shared/jest.config.ts b/packages/shared/jest.config.ts index e5ffd16997..65eb968ea7 100644 --- a/packages/shared/jest.config.ts +++ b/packages/shared/jest.config.ts @@ -92,6 +92,7 @@ const config: Config = { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/__mocks__/fileMock.js", "\\.(css|less|scss)$": "/__mocks__/styleMock.js", + "react-i18next": "/__mocks__/reacti18nextMock.tsx", "PUBLIC_DIR/": "/__mocks__/fileMock.js", },