import React from 'react';
import {shallow, mount} from 'enzyme';
import {Client} from 'app/api';
import TeamMembers from 'app/views/settings/organizationTeams/teamMembers';
describe('TeamMembers', function() {
let routerContext = TestStubs.routerContext();
let org = routerContext.context.organization;
let team = TestStubs.Team();
let members = TestStubs.Members();
beforeEach(function() {
Client.clearMockResponses();
Client.addMockResponse({
url: `/organizations/${org.slug}/members/`,
method: 'GET',
body: members,
});
Client.addMockResponse({
url: `/teams/${org.slug}/${team.slug}/members/`,
method: 'GET',
body: members,
});
});
it('renders', function() {
let wrapper = shallow(
,
routerContext
);
expect(wrapper).toMatchSnapshot();
});
it('can remove a team', function() {
let endpoint = `/organizations/${org.slug}/members/${members[0]
.id}/teams/${team.slug}/`;
let mock = Client.addMockResponse({
url: endpoint,
method: 'DELETE',
statusCode: 200,
});
let wrapper = mount(
,
routerContext
);
expect(mock).not.toHaveBeenCalled();
wrapper
.find('Button')
.at(1)
.simulate('click');
expect(mock).toHaveBeenCalledWith(
endpoint,
expect.objectContaining({
method: 'DELETE',
})
);
});
});