organizationAuthProvider.spec.jsx 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import React from 'react';
  2. import {shallow, mount} from 'enzyme';
  3. import {Client} from 'app/api';
  4. import OrganizationAuthProvider from 'app/views/settings/organization/auth/organizationAuthProvider';
  5. jest.mock('jquery');
  6. describe('OrganizationAuthProvider', function() {
  7. beforeEach(function() {
  8. Client.clearMockResponses();
  9. Client.addMockResponse({
  10. url: '/organizations/org-slug/auth-provider/',
  11. method: 'GET',
  12. body: TestStubs.AuthProvider(),
  13. });
  14. Client.addMockResponse({
  15. url: '/organizations/org-slug/auth-providers/',
  16. method: 'GET',
  17. body: [TestStubs.AuthProvider()],
  18. });
  19. });
  20. it('renders with no provider', function() {
  21. let wrapper = shallow(
  22. <OrganizationAuthProvider
  23. orgId="org-slug"
  24. onSendReminders={() => {}}
  25. provider={null}
  26. />
  27. );
  28. expect(wrapper).toMatchSnapshot();
  29. });
  30. it('renders', function() {
  31. let wrapper = shallow(
  32. <OrganizationAuthProvider
  33. orgId="org-slug"
  34. onSendReminders={() => {}}
  35. provider={TestStubs.AuthProvider()}
  36. />
  37. );
  38. expect(wrapper).toMatchSnapshot();
  39. });
  40. it('renders with Unlinked members ', function() {
  41. let wrapper = shallow(
  42. <OrganizationAuthProvider
  43. orgId="org-slug"
  44. onSendReminders={() => {}}
  45. provider={{
  46. ...TestStubs.AuthProvider(),
  47. pending_links_count: 4,
  48. }}
  49. />
  50. );
  51. expect(wrapper).toMatchSnapshot();
  52. });
  53. it('renders with provider template', function() {
  54. let wrapper = shallow(
  55. <OrganizationAuthProvider
  56. orgId="org-slug"
  57. onSendReminders={() => {}}
  58. provider={{
  59. ...TestStubs.AuthProvider(),
  60. content: '<strong>Test</strong>',
  61. }}
  62. />
  63. );
  64. expect(wrapper.find('.box-content')).toMatchSnapshot();
  65. });
  66. it('renders with Require Link and Default Role as admin', function() {
  67. let wrapper = mount(
  68. <OrganizationAuthProvider
  69. orgId="org-slug"
  70. onSendReminders={() => {}}
  71. provider={{
  72. ...TestStubs.AuthProvider(),
  73. require_link: true,
  74. default_role: 'admin',
  75. }}
  76. />
  77. );
  78. expect(
  79. wrapper
  80. .find('BooleanField')
  81. .find('input')
  82. .prop('checked')
  83. ).toBe(true);
  84. expect(
  85. wrapper
  86. .find('Select2Field')
  87. .find('select')
  88. .prop('value')
  89. ).toBe('admin');
  90. });
  91. it('can disable provider', function() {
  92. let mock = jest.fn();
  93. let wrapper = mount(
  94. <OrganizationAuthProvider
  95. orgId="org-slug"
  96. onSendReminders={() => {}}
  97. onDisableProvider={mock}
  98. provider={TestStubs.AuthProvider()}
  99. />
  100. );
  101. let disableButton = wrapper.find('.form-actions').find('Button');
  102. disableButton.simulate('click');
  103. expect(mock).toHaveBeenCalledWith('dummy');
  104. });
  105. });