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()
);
});
});