import * as React from "react"; import { render, TestWrapper } from "@test"; import { useTranslate } from "@hooks"; describe("useTranslate", () => { const TestComponent = () => { const translate = useTranslate(); return (
{translate("undefined key", { name: "test" }, "hello test")}
); }; it("works correctly without using i18n provider", () => { const { getByText } = render(); getByText("hello test"); }); it("works with i18nprovider", () => { const { getByText } = render(, { wrapper: TestWrapper({ resources: [{ name: "tests" }], i18nProvider: { translate: () => "merhaba", changeLocale: () => Promise.resolve(), getLocale: () => "tr", }, }), }); expect(getByText("merhaba")).toBeTruthy(); }); it("works with options and i18nprovider", () => { const { getByText } = render(, { wrapper: TestWrapper({ resources: [{ name: "tests" }], i18nProvider: { translate: (key, options) => `merhaba ${options.name}`, changeLocale: () => Promise.resolve(), getLocale: () => "tr", }, }), }); expect(getByText("merhaba test")).toBeTruthy(); }); });