Rebase and incorporates feedback

This commit is contained in:
mabashian
2019-04-22 17:15:32 -04:00
parent 9880f1e124
commit e8d73babaf
9 changed files with 161 additions and 174 deletions

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { mount } from 'enzyme';
import { I18nProvider } from '@lingui/react';
import { shallow } from 'enzyme';
import { mountWithContexts } from '../enzymeHelpers';
import AddResourceRole from '../../src/components/AddRole/AddResourceRole';
describe('<SelectResourceStep />', () => {
@@ -30,28 +30,24 @@ describe('<SelectResourceStep />', () => {
}
};
test('initially renders without crashing', () => {
mount(
<I18nProvider>
<AddResourceRole
api={api}
onClose={jest.fn()}
onSave={jest.fn()}
roles={roles}
/>
</I18nProvider>
shallow(
<AddResourceRole
api={api}
onClose={() => {}}
onSave={() => {}}
roles={roles}
/>
);
});
test('handleRoleCheckboxClick properly updates state', () => {
const wrapper = mount(
<I18nProvider>
<AddResourceRole
api={api}
onClose={jest.fn()}
onSave={jest.fn()}
roles={roles}
/>
</I18nProvider>
).find('AddResourceRole');
const wrapper = shallow(
<AddResourceRole
api={api}
onClose={() => {}}
onSave={() => {}}
roles={roles}
/>
);
wrapper.setState({
selectedRoleRows: [
{
@@ -79,16 +75,14 @@ describe('<SelectResourceStep />', () => {
}]);
});
test('handleResourceCheckboxClick properly updates state', () => {
const wrapper = mount(
<I18nProvider>
<AddResourceRole
api={api}
onClose={jest.fn()}
onSave={jest.fn()}
roles={roles}
/>
</I18nProvider>
).find('AddResourceRole');
const wrapper = shallow(
<AddResourceRole
api={api}
onClose={() => {}}
onSave={() => {}}
roles={roles}
/>
);
wrapper.setState({
selectedResourceRows: [
{
@@ -113,15 +107,13 @@ describe('<SelectResourceStep />', () => {
});
test('clicking user/team cards updates state', () => {
const spy = jest.spyOn(AddResourceRole.prototype, 'handleResourceSelect');
const wrapper = mount(
<I18nProvider>
<AddResourceRole
onClose={jest.fn()}
onSave={jest.fn()}
api={api}
roles={roles}
/>
</I18nProvider>
const wrapper = mountWithContexts(
<AddResourceRole
onClose={() => {}}
onSave={() => {}}
api={api}
roles={roles}
/>
).find('AddResourceRole');
const selectableCardWrapper = wrapper.find('SelectableCard');
expect(selectableCardWrapper.length).toBe(2);
@@ -133,16 +125,14 @@ describe('<SelectResourceStep />', () => {
expect(wrapper.state('selectedResource')).toBe('teams');
});
test('readUsers and readTeams call out to corresponding api functions', () => {
const wrapper = mount(
<I18nProvider>
<AddResourceRole
api={api}
onClose={jest.fn()}
onSave={jest.fn()}
roles={roles}
/>
</I18nProvider>
).find('AddResourceRole');
const wrapper = shallow(
<AddResourceRole
api={api}
onClose={() => {}}
onSave={() => {}}
roles={roles}
/>
);
wrapper.instance().readUsers({
foo: 'bar'
});
@@ -158,16 +148,14 @@ describe('<SelectResourceStep />', () => {
});
});
test('handleResourceSelect clears out selected lists and sets selectedResource', () => {
const wrapper = mount(
<I18nProvider>
<AddResourceRole
api={api}
onClose={jest.fn()}
onSave={jest.fn()}
roles={roles}
/>
</I18nProvider>
).find('AddResourceRole');
const wrapper = shallow(
<AddResourceRole
api={api}
onClose={() => {}}
onSave={() => {}}
roles={roles}
/>
);
wrapper.setState({
selectedResource: 'teams',
selectedResourceRows: [
@@ -199,15 +187,13 @@ describe('<SelectResourceStep />', () => {
});
test('handleWizardSave makes correct api calls, calls onSave when done', async () => {
const handleSave = jest.fn();
const wrapper = mount(
<I18nProvider>
<AddResourceRole
api={api}
onClose={jest.fn()}
onSave={handleSave}
roles={roles}
/>
</I18nProvider>
const wrapper = mountWithContexts(
<AddResourceRole
api={api}
onClose={() => {}}
onSave={handleSave}
roles={roles}
/>
).find('AddResourceRole');
wrapper.setState({
selectedResource: 'users',

View File

@@ -1,17 +1,16 @@
import React from 'react';
import { mount } from 'enzyme';
import { shallow } from 'enzyme';
import CheckboxCard from '../../src/components/AddRole/CheckboxCard';
describe('<CheckboxCard />', () => {
let wrapper;
test('initially renders without crashing', () => {
wrapper = mount(
wrapper = shallow(
<CheckboxCard
name="Foobar"
itemId={5}
/>
);
expect(wrapper.length).toBe(1);
wrapper.unmount();
});
});

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { mount } from 'enzyme';
import { I18nProvider } from '@lingui/react';
import { shallow } from 'enzyme';
import { mountWithContexts } from '../enzymeHelpers';
import SelectResourceStep from '../../src/components/AddRole/SelectResourceStep';
describe('<SelectResourceStep />', () => {
@@ -11,16 +11,14 @@ describe('<SelectResourceStep />', () => {
jest.restoreAllMocks();
});
test('initially renders without crashing', () => {
mount(
<I18nProvider>
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={jest.fn()}
onSearch={jest.fn()}
sortedColumnKey="username"
/>
</I18nProvider>
shallow(
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={() => {}}
onSearch={() => {}}
sortedColumnKey="username"
/>
);
});
test('fetches resources on mount', async () => {
@@ -33,16 +31,14 @@ describe('<SelectResourceStep />', () => {
]
}
});
mount(
<I18nProvider>
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={jest.fn()}
onSearch={handleSearch}
sortedColumnKey="username"
/>
</I18nProvider>
mountWithContexts(
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={() => {}}
onSearch={handleSearch}
sortedColumnKey="username"
/>
);
expect(handleSearch).toHaveBeenCalledWith({
order_by: 'username',
@@ -66,17 +62,15 @@ describe('<SelectResourceStep />', () => {
]
}
});
const wrapper = await mount(
<I18nProvider>
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={jest.fn()}
onSearch={handleSearch}
selectedResourceRows={selectedResourceRows}
sortedColumnKey="username"
/>
</I18nProvider>
const wrapper = await mountWithContexts(
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={() => {}}
onSearch={handleSearch}
selectedResourceRows={selectedResourceRows}
sortedColumnKey="username"
/>
).find('SelectResourceStep');
await wrapper.instance().readResourceList({
page: 1,
@@ -93,17 +87,15 @@ describe('<SelectResourceStep />', () => {
});
test('handleSetPage calls readResourceList with correct params', () => {
const spy = jest.spyOn(SelectResourceStep.prototype, 'readResourceList');
const wrapper = mount(
<I18nProvider>
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={jest.fn()}
onSearch={jest.fn()}
selectedResourceRows={[]}
sortedColumnKey="username"
/>
</I18nProvider>
const wrapper = mountWithContexts(
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={() => {}}
onSearch={() => {}}
selectedResourceRows={[]}
sortedColumnKey="username"
/>
).find('SelectResourceStep');
wrapper.setState({ sortOrder: 'descending' });
wrapper.instance().handleSetPage(2);
@@ -114,17 +106,15 @@ describe('<SelectResourceStep />', () => {
});
test('handleSort calls readResourceList with correct params', () => {
const spy = jest.spyOn(SelectResourceStep.prototype, 'readResourceList');
const wrapper = mount(
<I18nProvider>
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={jest.fn()}
onSearch={jest.fn()}
selectedResourceRows={[]}
sortedColumnKey="username"
/>
</I18nProvider>
const wrapper = mountWithContexts(
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={() => {}}
onSearch={() => {}}
selectedResourceRows={[]}
sortedColumnKey="username"
/>
).find('SelectResourceStep');
wrapper.instance().handleSort('username', 'descending');
expect(spy).toHaveBeenCalledWith({ page: 1, page_size: 5, order_by: '-username' });
@@ -133,17 +123,15 @@ describe('<SelectResourceStep />', () => {
});
test('clicking on row fires callback with correct params', () => {
const handleRowClick = jest.fn();
const wrapper = mount(
<I18nProvider>
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={handleRowClick}
onSearch={jest.fn()}
selectedResourceRows={[]}
sortedColumnKey="username"
/>
</I18nProvider>
const wrapper = mountWithContexts(
<SelectResourceStep
columns={columns}
displayKey="username"
onRowClick={handleRowClick}
onSearch={() => {}}
selectedResourceRows={[]}
sortedColumnKey="username"
/>
);
const selectResourceStepWrapper = wrapper.find('SelectResourceStep');
selectResourceStepWrapper.setState({

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { mount } from 'enzyme';
import { mount, shallow } from 'enzyme';
import SelectRoleStep from '../../src/components/AddRole/SelectRoleStep';
describe('<SelectRoleStep />', () => {
@@ -30,7 +30,7 @@ describe('<SelectRoleStep />', () => {
}
];
test('initially renders without crashing', () => {
wrapper = mount(
wrapper = shallow(
<SelectRoleStep
roles={roles}
selectedResourceRows={selectedResourceRows}

View File

@@ -1,12 +1,12 @@
import React from 'react';
import { mount } from 'enzyme';
import { shallow } from 'enzyme';
import SelectableCard from '../../src/components/AddRole/SelectableCard';
describe('<SelectableCard />', () => {
let wrapper;
const onClick = jest.fn();
test('initially renders without crashing when not selected', () => {
wrapper = mount(
wrapper = shallow(
<SelectableCard
onClick={onClick}
/>
@@ -15,7 +15,7 @@ describe('<SelectableCard />', () => {
wrapper.unmount();
});
test('initially renders without crashing when selected', () => {
wrapper = mount(
wrapper = shallow(
<SelectableCard
isSelected
onClick={onClick}