Как исправить ферментный тест - PullRequest
0 голосов
/ 22 июня 2019

Я написал здесь тест для поповера https://codesandbox.io/s/popover-opens-on-click-wct7s, который ведет себя так, как и ожидалось в браузере, но не в ферменте. Тест, который я написал, выглядит следующим образом:

import Enzyme, { mount } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import React from "react";
import { Provider } from "styletron-react";
import { Client as Styletron } from "styletron-engine-atomic";
import Example from "../example";

const engine = new Styletron();
Enzyme.configure({ adapter: new Adapter() });

test("Clicking outside of popover should close popover and make popover contents unmount", async () => {
  const wrapper = mount(
    <Provider value={engine}>
      <div data-test-id="app">
        <Example />
      </div>
    </Provider>
  );
  let p;
  const container = wrapper.find("div");
  p = wrapper.find("Paragraph1");
  const btn = wrapper.find("button");
  expect(p).toHaveLength(0);
  btn.simulate("click");
  p = wrapper.find("Paragraph1");
  expect(p).toHaveLength(1);
  container.simulate("click");
  p = wrapper.find("Paragraph1");
  expect(p).toHaveLength(0); // this test fails and text content lingers after clicking outside
});

Мне было интересно, как исправить этот тест таким образом, чтобы у меня был провальный тест, следуя фактическому поведению, обнаруженному в браузере, когда всплывающее содержимое исчезает после нажатия кнопки снаружи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...