React Storybook показывает только три модульных теста - PullRequest
0 голосов
/ 27 февраля 2020

Я сталкиваюсь с очень странной ситуацией. У меня есть 9 модульных тестов, которые работают отлично, когда я запускаю его с помощью команды jest. Но когда я запускаю сборник рассказов, он просто показывает 3 теста из 9. Версия сборника рассказов 5.1.7.

Screenshot

Тест, который отображается в сборнике рассказов - Фильтр Поиск заказов -

import React from "react";
import expect from "expect";
import { mount } from "enzyme";
import _ from "lodash";

import Root from "../../root";
import { storiesOf, describe, it, specs, beforeEach, afterEach } from "../../../.storybook/facade";
import FilterSearchOrders from "../search-orders/filter-search-orders";
import ordersFilterOptions from "../search-orders/orders-filters-options";

const filterSearchOrdersInfo = {
  searchedText: "",
  status: "",
  pageNo: 0,
};

const getElement = () => {
  return (
    <Root>
      <FilterSearchOrders
        searchedText={filterSearchOrdersInfo.searchedText}
        status={filterSearchOrdersInfo.status}
        pageNo={filterSearchOrdersInfo.pageNo}
      />
    </Root>
  );
};

storiesOf("Filter Search Orders", module).add("Filter Search Orders", () => {
  specs(() =>
    describe("Test case for filter search order component", () => {
      let wrapper;

      beforeEach(() => {
        wrapper = mount(getElement());
      });

      afterEach(() => {
        wrapper.unmount();
      });

      it("should render an input box for searching", () => {
        expect(wrapper.find(".search-orders-input"));
      });

      it("should render a dropdown with options", () => {
        const dropdownOptions = wrapper.find(".item").map((node) => node.text());
        const items = _.map(ordersFilterOptions, _.property("text"));

        expect(dropdownOptions).toEqual(items);
      });

      it("should render a primary button called search", () => {
        expect(wrapper.find(".primary").text()).toEqual("SEARCH");
      });
    })
  );
  return getElement();
});

Тест не отображается в сборнике рассказов - История меню -

    import React from "react";
    import expect from "expect";
    import { mount } from "enzyme";
    import _ from "lodash";

    import { DASHBOARDITEMS } from "../menu/menuItems";
    import { storiesOf, describe, it, specs } from "../../../.storybook/facade";
    import NavBar from "../menu";
    import Root from "../../root";

    const getElement = () => {
      return (
        <Root>
          <NavBar items={DASHBOARDITEMS} />
        </Root>
      );
    };

    storiesOf("Menu", module).add("Navigation Bar component", () => {
      specs(() =>
        describe("Main menu", () => {
          it("should render menu", () => {
            const wrapper = mount(getElement());

            expect(wrapper.find(".nestedMenu"));


    });

      it("should render an image to show logo", () => {
        const wrapper = mount(getElement());

        expect(
          wrapper
            .find(".item")
            .at(0)
            .find("img").length > 0
        ).toEqual(true);
      });

      it("should render all links", () => {
        const wrapper = mount(<Root>{getElement()}</Root>);
        const links = wrapper.find("a").map((node) => node.text());
        const items = _.map(DASHBOARDITEMS, _.property("content"));

        expect(links).toEqual(items);
      });
    })
  );
  return getElement();
});

1 Ответ

0 голосов
/ 16 марта 2020

Хорошо, так что я, кажется, все время выяснял, что было не так.

Очень глупая ошибка, но я надеюсь, что это поможет любому, кто имеет дело с той же проблемой.

Я проверил консоль и, похоже, четвертый рассказ (по порядку), который я написал, имел какая-то ошибка, и как только я исправил эту ошибку, эта история и все другие истории начали показываться в сборнике рассказов.

Я обновил свою версию сборника рассказов, и кажется, что все истории отображаются в пользовательском интерфейсе с ошибками.

...