Как я могу издеваться над свойством window.screen.width? - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть это условие в моем компоненте.

{window.screen.width > 1000 && (
            <WebFeatures
              scrolling={this.handleScrollToStats}
              ref_var={this.statsRef}
              ref_app={this.myRef}
              ref_reimburse={this.reimburse}
              ref_expense={this.expense}
            />``
          )}

Как я могу проверить это условие?

1 Ответ

0 голосов
/ 11 апреля 2020

Вы можете использовать spyOn для window.secreen.width и вернуть значение, необходимое для теста:

jest.spyOn(window.screen, "width", "get").mockReturnValue(WIDTH);

Ваши тесты будут выглядеть следующим образом:


it("Should NOT render WebFeatures in small screen", () => {
  jest.spyOn(window.screen, "width", "get").mockReturnValue(1000);
  const wrapper = mount(<YourComponent />);
  expect(wrapper.find("WebFeatures").exists()).toBe(false);
});

it("Should render WebFeatures in large screen", () => {
  jest.spyOn(window.screen, "width", "get").mockReturnValue(1001);
  const wrapper = mount(<YourComponent />);
  expect(wrapper.find("WebFeatures").exists()).toBe(true);
});

...