diff --git a/awx/ui_next/src/screens/Project/shared/ProjectSyncButton.test.jsx b/awx/ui_next/src/screens/Project/shared/ProjectSyncButton.test.jsx index 9f53dfb339..dceb8d7d16 100644 --- a/awx/ui_next/src/screens/Project/shared/ProjectSyncButton.test.jsx +++ b/awx/ui_next/src/screens/Project/shared/ProjectSyncButton.test.jsx @@ -41,6 +41,32 @@ describe('ProjectSyncButton', () => { expect(ProjectsAPI.sync).toHaveBeenCalledWith(1); }); + test('disable button and set onClick to undefined on sync', async () => { + await act(async () => { + wrapper = mountWithContexts( + + {children} + + ); + }); + + expect(wrapper.find('Button').prop('isDisabled')).toBe(true); + expect(wrapper.find('Button').prop('onClick')).toBe(undefined); + }); + test('should render tooltip on sync', async () => { + await act(async () => { + wrapper = mountWithContexts( + + {children} + + ); + }); + + expect(wrapper.find('Tooltip')).toHaveLength(1); + expect(wrapper.find('Tooltip').prop('content')).toEqual( + 'This project is currently on sync and cannot be clicked until sync process completed' + ); + }); test('displays error modal after unsuccessful sync', async () => { ProjectsAPI.sync.mockRejectedValue( new Error({