import React from 'react'; import assert from 'assert'; import { shallow } from 'enzyme'; import { Resource } from './Resource'; import { Route } from 'react-router-dom'; const PostList = () =>
PostList
; const PostEdit = () =>
PostEdit
; const PostCreate = () =>
PostCreate
; const PostShow = () =>
PostShow
; const PostIcon = () =>
PostIcon
; const resource = { name: 'posts', options: { foo: 'bar' }, list: PostList, edit: PostEdit, create: PostCreate, show: PostShow, icon: PostIcon, }; describe('', () => { const registerResource = jest.fn(); const unregisterResource = jest.fn(); it(`registers its resource in redux on mount when context is 'registration'`, () => { shallow( ); assert.equal(registerResource.mock.calls.length, 1); assert.deepEqual(registerResource.mock.calls[0][0], { name: 'posts', options: { foo: 'bar' }, hasList: true, hasEdit: true, hasShow: true, hasCreate: true, icon: PostIcon, }); }); it(`unregister its resource from redux on unmount when context is 'registration'`, () => { const wrapper = shallow( ); wrapper.unmount(); assert.equal(unregisterResource.mock.calls.length, 1); assert.deepEqual(unregisterResource.mock.calls[0][0], 'posts'); }); it('renders list route if specified', () => { const wrapper = shallow( ); assert.ok(wrapper.containsMatchingElement()); }); it('renders create route if specified', () => { const wrapper = shallow( ); assert.ok( wrapper.containsMatchingElement() ); }); it('renders edit route if specified', () => { const wrapper = shallow( ); assert.ok(wrapper.containsMatchingElement()); }); it('renders show route if specified', () => { const wrapper = shallow( ); assert.ok( wrapper.containsMatchingElement() ); }); });