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({