vendredi 24 novembre 2017

Testing React Component with Jest and Enzyme. Error: Can't read property of map is undefined

So i haven't been able to get the todos passed down from the parent component nor have i been able to successfully set them myself. I'm not trying to test anything in particular at this point. Just that the component 'exists' without error

Component code:

import React, { Component } from 'react';

import TodoItem from './TodoItem';

class TodoList extends Component {
    renderTodos = () => {
        const { todos } = this.props;
        return todos.map(todo => {
            return <TodoItem key={todo.id} {...todo} />;
        });
    };
    render() {
        return (
            <div>
                {this.renderTodos()}
            </div>
        );
    }
}

export default TodoList;

Test code:

import React from 'react';
import { shallow } from 'enzyme';
import renderer from 'react-test-renderer';

import TodoList from './TodoList';
import TodoItem from './TodoItem';

describe(TodoList, () => {

    const component = shallow(<TodoList />);

    it('should exist', () => {
        const component = renderer.create(<TodoList />);
        const tree = component.toJSON();
        expect(tree).toMatchSnapshot();
    });
});

Please help. New to Jest and pretty new to testing in general.

Aucun commentaire:

Enregistrer un commentaire