Я создал вспомогательную функцию ScMountWithTheme
, и я хочу просто передать этой функции два аргумента: 1) компонент (ы), который я пытаюсь отобразить, и 2) дочерние элементы, вложенные в этот компонент. Цель в том, чтобы мне не приходилось переписывать код, который монтирует одну и ту же тему снова и снова.
Я пытался передать его и получить доступ через детей, но это не помогло. Я пытался увидеть, что на самом объекте компонента может помочь, но не был уверен, что это будет полезно.
Ожидаемый результат - пройти тест, но в настоящее время я не получаю правильный объект ответа из оболочки.
import { mount } from "enzyme";
import React from "react";
import { ThemeProvider } from "styled-components";
import { getTheme } from "../../../src/components/framework/StyledComponents/themes";
export const ScMountWithTheme = (Component, mode) => {
return mount(
<ThemeProvider theme={getTheme(mode)}>{Component.children}</ThemeProvider>,
);
};
describe.only("ScH1 Styled Component", () => {
it("renders H1 with Test in the text", () => {
const wrapper = ScMountWithTheme(<ScH1>Test</ScH1>, "BUY");
expect(wrapper.find("h1").text()).toContain("Test");
});
});