В настоящее время я пытаюсь написать интеграционный тест, который проверяет полную работу моего приложения.
Моя самая большая проблема сейчас заключается в том, чтобы попытаться визуализировать компонент в моем контейнере MainTemplate, чтобы он изменялся в зависимости от того, как он меняется в реальной среде. По сути, я пытаюсь получить MainTemplate для рендеринга компонента HomePage, который мне удалось выполнить, а затем изменить его на другой маршрут после нажатия на элемент Link в компоненте HomePage. Это должно привести к визуализации компонента DictionaryRooms.
Результаты не такие, как я ожидал, так как снимок Jest по-прежнему отображает HomePage даже после имитации «щелчка». Любые идеи будут очень приветствоваться. Заранее спасибо
const wrapper = mount(
<Root>
<MemoryRouter initialEntries={['/']} initialIndex={0}>
<MainTemplate>
<Route
path="/dictionaries"
render={() => (
<MainTemplateContent
title="Dictionaries"
>
<Route path="/dictionaries/rooms" component={DictionaryRooms} />
</MainTemplateContent>
)}
/>
<Route
exact
path="/"
render={() => (
<MainTemplateContent title="">
<HomePage />
</MainTemplateContent>
)}
/>
</MainTemplate>
</MemoryRouter>
</Root>
);
it("renders HomePage", () => {
expect(wrapper.find(HomePage).length).toEqual(1);
});
it("link to dictionaries exists", () => {
expect(wrapper.find("[href='/dictionaries']").length).toEqual(1);
});
it("clicking on link to dictionaries renders ", () => {
wrapper
.find("[href='/dictionaries']")
.simulate('click');
expect(wrapper).toMatchSnapshot();
})