projectUserFeedback.spec.jsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import React from 'react';
  2. import {mount} from 'enzyme';
  3. import ProjectUserFeedback from 'app/views/settings/project/projectUserFeedback';
  4. describe('ProjectUserFeedback', function() {
  5. const org = TestStubs.Organization();
  6. const project = TestStubs.ProjectDetails();
  7. const url = `/projects/${org.slug}/${project.slug}/`;
  8. beforeEach(function() {
  9. MockApiClient.clearMockResponses();
  10. MockApiClient.addMockResponse({
  11. url: `/projects/${org.slug}/${project.slug}/`,
  12. method: 'GET',
  13. body: TestStubs.Project(),
  14. });
  15. MockApiClient.addMockResponse({
  16. url: `/projects/${org.slug}/${project.slug}/keys/`,
  17. method: 'GET',
  18. body: [],
  19. });
  20. });
  21. it('can toggle sentry branding option', function() {
  22. const wrapper = mount(
  23. <ProjectUserFeedback
  24. organization={org}
  25. project={project}
  26. setProjectNavSection={() => {}}
  27. params={{orgId: org.slug, projectId: project.slug}}
  28. />,
  29. TestStubs.routerContext()
  30. );
  31. const mock = MockApiClient.addMockResponse({
  32. url,
  33. method: 'PUT',
  34. });
  35. expect(mock).not.toHaveBeenCalled();
  36. // Click Regenerate Token
  37. wrapper.find('Switch').simulate('click');
  38. expect(mock).toHaveBeenCalledWith(
  39. url,
  40. expect.objectContaining({
  41. method: 'PUT',
  42. data: {
  43. options: {'feedback:branding': true},
  44. },
  45. })
  46. );
  47. });
  48. });