createTeamModal.spec.jsx 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import {Modal} from 'react-bootstrap';
  2. import React from 'react';
  3. import {mountWithTheme} from 'sentry-test/enzyme';
  4. import {createTeam} from 'app/actionCreators/teams';
  5. import CreateTeamModal from 'app/components/modals/createTeamModal';
  6. jest.mock('app/actionCreators/teams', () => ({
  7. createTeam: jest.fn((...args) => new Promise(resolve => resolve(...args))),
  8. }));
  9. describe('CreateTeamModal', function() {
  10. const org = TestStubs.Organization();
  11. const closeModal = jest.fn();
  12. const onClose = jest.fn();
  13. const onSuccess = jest.fn();
  14. beforeEach(function() {
  15. onClose.mockReset();
  16. onSuccess.mockReset();
  17. });
  18. afterEach(function() {});
  19. it('calls createTeam action creator on submit', async function() {
  20. const wrapper = mountWithTheme(
  21. <CreateTeamModal
  22. Body={Modal.Body}
  23. Header={Modal.Header}
  24. organization={org}
  25. closeModal={closeModal}
  26. onClose={onClose}
  27. onSuccess={onSuccess}
  28. />,
  29. TestStubs.routerContext()
  30. );
  31. wrapper
  32. .find('CreateTeamForm Input[name="slug"]')
  33. .simulate('change', {e: {target: {value: 'new-team'}}});
  34. wrapper.find('CreateTeamForm Form').simulate('submit');
  35. expect(createTeam).toHaveBeenCalledTimes(1);
  36. await tick();
  37. expect(onClose).toHaveBeenCalled();
  38. expect(closeModal).toHaveBeenCalled();
  39. expect(onSuccess).toHaveBeenCalledTimes(1);
  40. });
  41. });