Как я могу проверить функцию, которая возвращает элемент в Jest / Enzyme? - PullRequest
0 голосов
/ 17 января 2019

Таким образом, в журналах Jest говорится, что строка 64 нуждается в покрытии.

У меня есть это в моем коде:

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

{row.isExpanded && (
    <TableExpandedRow>
      <TableCell colSpan={headers.length + 1} key={row.id}>
        <div className="wrapper wrapper-items-table">
          <div className="table">
            <TableItemsHeader />
            {tableRows.map(
              items =>
                isEqual(items.id.toString(), row.id) && ( // LINE 64
                  <TableExpandedRowWrapper
                    key={items}
                    rowClassProp="row"
                    shipmentItem={items}
                  />
                ),
            )}
          </div>
        </div>
      </TableCell>
    </TableExpandedRow>
  )}

Этот isEqual() метод, который вы видели выше, взят из lodash.

И у меня есть этот тест:

beforeEach(() => {
    props = {
      t: k => k,
      tableRows: [
        {
          id: '123',
          shipmentId: '- -',
        },
      ],
      headers: [
        {
          key: 'shipmentId',
          header: 'Shipment ID',
        },
      ],
    };
  });

  it('renders ShipmentsTable component', () => {
    const wrapper = mount(<TableComp.WrappedComponent {...props} />);


    // I know this is not doing anything but
    // this is the part I need to test
    const row = { id: '123' };
    const rows = props.tableRows.map(
      items =>
        isEqual(items.id.toString(), row.id) && (
          <TableExpandedRowWrapper
            key={items}
            rowClassProp="row"
            shipmentItem={items}
          />
        ),
    );

    expect(wrapper.find(DataTable)).toHaveLength(1);
  });

Так у вас естьЛюбые идеи о том, как я могу проверить этот кусок кода?

...