]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-18757 Create identity providers E2Es UI tests
author7PH <benjamin.raymond@sonarsource.com>
Thu, 16 Mar 2023 14:25:36 +0000 (15:25 +0100)
committerLukasz Jarocki <lukasz.jarocki@sonarsource.com>
Fri, 17 Mar 2023 09:45:57 +0000 (10:45 +0100)
server/sonar-web/src/main/js/apps/quality-profiles/details/ChangeProjectsForm.tsx
server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/ChangeProjectsForm-test.tsx
server/sonar-web/src/main/js/apps/quality-profiles/details/__tests__/__snapshots__/ChangeProjectsForm-test.tsx.snap
server/sonar-web/src/main/js/apps/users/components/GroupsForm.tsx
server/sonar-web/src/main/js/apps/users/components/__tests__/GroupsForm-test.tsx
server/sonar-web/src/main/js/apps/users/components/__tests__/__snapshots__/GroupsForm-test.tsx.snap

index 5a31e29c5d8a18453724576b9b6c517fe569b9b6..9c9d83303af8574f75a9457b30d16facc79fe3df 100644 (file)
@@ -25,6 +25,7 @@ import {
   getProfileProjects,
   ProfileProject,
 } from '../../../api/quality-profiles';
+import { ResetButtonLink } from '../../../components/controls/buttons';
 import Modal from '../../../components/controls/Modal';
 import SelectList, {
   SelectListFilter,
@@ -118,11 +119,6 @@ export default class ChangeProjectsForm extends React.PureComponent<Props, State
       }
     });
 
-  handleCloseClick = (event: React.SyntheticEvent<HTMLElement>) => {
-    event.preventDefault();
-    this.props.onClose();
-  };
-
   renderElement = (key: string): React.ReactNode => {
     const project = find(this.state.projects, { key });
     return (
@@ -172,9 +168,7 @@ export default class ChangeProjectsForm extends React.PureComponent<Props, State
         </div>
 
         <div className="modal-foot">
-          <a href="#" onClick={this.handleCloseClick}>
-            {translate('close')}
-          </a>
+          <ResetButtonLink onClick={this.props.onClose}>{translate('close')}</ResetButtonLink>
         </div>
       </Modal>
     );
index 351b57857f0bb385bd982379e7ea40a66034995e..d48a59bc77f020a394a833cc1197063acdce7f3c 100644 (file)
@@ -25,7 +25,7 @@ import {
   getProfileProjects,
 } from '../../../../api/quality-profiles';
 import SelectList, { SelectListFilter } from '../../../../components/controls/SelectList';
-import { click, waitAndUpdate } from '../../../../helpers/testUtils';
+import { waitAndUpdate } from '../../../../helpers/testUtils';
 import ChangeProjectsForm from '../ChangeProjectsForm';
 
 const profile: any = { key: 'profFile_key' };
@@ -95,14 +95,6 @@ it('should handle deselection properly', async () => {
   expect(wrapper.state().needToReload).toBe(true);
 });
 
-it('should close modal properly', () => {
-  const spy = jest.fn();
-  const wrapper = shallowRender({ onClose: spy });
-  click(wrapper.find('a'));
-
-  expect(spy).toHaveBeenCalled();
-});
-
 function shallowRender(props: Partial<ChangeProjectsForm['props']> = {}) {
   return shallow<ChangeProjectsForm>(
     <ChangeProjectsForm onClose={jest.fn()} profile={profile} {...props} />
index 255176e76b57d06e0b2e6227ccfb19e397e53eea..68a5559cfca7f0f40ca03fa2bd313c85b35c761f 100644 (file)
@@ -45,12 +45,11 @@ exports[`should render correctly 1`] = `
   <div
     className="modal-foot"
   >
-    <a
-      href="#"
-      onClick={[Function]}
+    <ResetButtonLink
+      onClick={[MockFunction]}
     >
       close
-    </a>
+    </ResetButtonLink>
   </div>
 </Modal>
 `;
index 50338c76e9c291f1faeeea9f37413a699cc5497f..60d14160b74fd076fd75c20de028ebaa08b2fb64 100644 (file)
@@ -21,6 +21,7 @@ import { find, without } from 'lodash';
 import * as React from 'react';
 import { getUserGroups, UserGroup } from '../../../api/users';
 import { addUserToGroup, removeUserFromGroup } from '../../../api/user_groups';
+import { ResetButtonLink } from '../../../components/controls/buttons';
 import Modal from '../../../components/controls/Modal';
 import SelectList, {
   SelectListFilter,
@@ -119,11 +120,6 @@ export default class GroupsForm extends React.PureComponent<Props, State> {
       }
     });
 
-  handleCloseClick = (event: React.SyntheticEvent<HTMLElement>) => {
-    event.preventDefault();
-    this.handleClose();
-  };
-
   handleClose = () => {
     this.props.onUpdateUsers();
     this.props.onClose();
@@ -174,9 +170,7 @@ export default class GroupsForm extends React.PureComponent<Props, State> {
         </div>
 
         <footer className="modal-foot">
-          <a className="js-modal-close" href="#" onClick={this.handleCloseClick}>
-            {translate('done')}
-          </a>
+          <ResetButtonLink onClick={this.handleClose}>{translate('done')}</ResetButtonLink>
         </footer>
       </Modal>
     );
index b6b5a2f83a1f18f89d5fa4478cf3578cc6aae1d9..d793476b43cb7a7f4a1b9bcf480d25eb655a16d2 100644 (file)
@@ -23,7 +23,7 @@ import { getUserGroups } from '../../../../api/users';
 import { addUserToGroup, removeUserFromGroup } from '../../../../api/user_groups';
 import SelectList, { SelectListFilter } from '../../../../components/controls/SelectList';
 import { mockUser } from '../../../../helpers/testMocks';
-import { click, waitAndUpdate } from '../../../../helpers/testUtils';
+import { waitAndUpdate } from '../../../../helpers/testUtils';
 import GroupsForm from '../GroupsForm';
 
 const user = mockUser();
@@ -121,16 +121,6 @@ it('should handle deselection properly', async () => {
   expect(wrapper.state().needToReload).toBe(true);
 });
 
-it('should close modal properly', () => {
-  const spyOnClose = jest.fn();
-  const spyOnUpdateUsers = jest.fn();
-  const wrapper = shallowRender({ onClose: spyOnClose, onUpdateUsers: spyOnUpdateUsers });
-  click(wrapper.find('.js-modal-close'));
-
-  expect(spyOnClose).toHaveBeenCalled();
-  expect(spyOnUpdateUsers).toHaveBeenCalled();
-});
-
 function shallowRender(props: Partial<GroupsForm['props']> = {}) {
   return shallow<GroupsForm>(
     <GroupsForm onClose={jest.fn()} onUpdateUsers={jest.fn()} user={user} {...props} />
index 5bceb55bb9963ab4fd1d70dbf34569072ad5e5c6..cbdda1a7dacf25715474f16a045c950d44fde8ea 100644 (file)
@@ -41,13 +41,11 @@ exports[`should render correctly 1`] = `
   <footer
     className="modal-foot"
   >
-    <a
-      className="js-modal-close"
-      href="#"
+    <ResetButtonLink
       onClick={[Function]}
     >
       done
-    </a>
+    </ResetButtonLink>
   </footer>
 </Modal>
 `;