Как минимум у вас при попытке вызова
render выпадает ошибка:
Cannot convert undefined or null to object
Так как вы не передаете
total в
store.
Зачем вам вообще оборачивать компонент в
connect при тестировании?
Попробуйте изменить файл компонента так:
import React from 'react';
import { connect } from 'react-redux';
export class Balance extends React.Component {
// some code
}
const mapStateToProps = ({ total }) => ({ total });
export default connect(mapStateToProps)(Balance);
То, что вы назвали компонент
BalanceCont, семантически неверно. Так как контейнер это HOС поверх вашего компонента, вызовом
connect вы оборачиваете компонент в контейнер.
Теперь вы можете импортировать компонент для тестов, как:
import { Balance } from './Balance';
А контейнер в приложение как:
import Balance from './Balance';
Измененный тест:
import React from 'react';
import { shallow, mount } from 'enzyme';
import { expect } from 'chai';
import { Balance } from '../app/containers/balance/src/balance';
describe('<Balance />', () => {
it('Balance test', function () {
const mockTotal = { /* mock code */ };
const wrapper = shallow(<Balance total={mockTotal} />);
expect(wrapper.contains(<h3>Мои балансы</h3>)).to.equal(true);
});
});