Реагировать - "ожидать (получено) .toEqual (ожидается)" - PullRequest
0 голосов
/ 05 мая 2019

В дополнение к учебнику по Реакту, Шуту и ​​Ферменту.Вот ссылка на код .

Вот тест:

import React from 'react';
import { mount, shallow } from 'enzyme';
import { Loot } from './Loot';

describe('Loot', () => {
  const mockFetchBitcoin = jest.fn();
  let props = { balance: 10, bitcoin: {} };
  let loot = shallow(<Loot {...props} />);

  it('renders properly', () => {
    expect(loot).toMatchSnapshot();
  });

  describe('when mounted', () => {
    beforeEach(() => {
      props.fetchBitcoin = mockFetchBitcoin;
      loot = mount(<Loot {...props} />);
    });

    it('dispatches the `fetchBitcoin()` method it receives from props', () => {
      expect(mockFetchBitcoin).toHaveBeenCalled();
    });
  });

  describe('when there are valid bitcoin props', () => {
    beforeEach(() => {
      props = { balance: 10, bitcoin: { bpi: { usd: { rate: '1,000' } } } };
      loot = shallow(<Loot {...props} />);
    });
  });

  it('displays the correct bitcoin value', () => {
    expect(loot.find('h3').text()).toEqual('Bitcoin balance: 0.01');
  });
  // it('displays the correct bitcoin value', () => {
  //   expect(loot.find('h3').text()).toEqual('Bitcoin balance: ');
  // });
});

Вот код, который тестируется:

import React, { Component } from 'react';
import { connect } from 'react-redux';
import { fetchBitcoin } from "../actions/bitcoin";

export class Loot extends Component {
  componentDidMount() {
    this.props.fetchBitcoin();
  }

  computeBitcoin() {
    const { bitcoin } = this.props;

    if (Object.keys(bitcoin).length === 0) return '';

    return this.props.balance / parseInt(bitcoin.bpi.USD.rate.replace(/,/g,''), 10);
  }

  render() {
    return(
      <h3>Bitcoin balance: {this.computeBitcoin()}</h3>
    )
  }
}

export default connect(state => state, { fetchBitcoin })(Loot);

Получение следующегосообщение об ошибке в командной строке:

CMD Line

Кроме того, это сообщение об ошибке появляется в браузере:

TypeError: Невозможно преобразоватьне определено или ноль для объекта

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