From 989ef3538ea5e80f75a8df42aaddc0b538c5e924 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Thu, 27 Feb 2020 15:20:50 -0500 Subject: [PATCH] add test for conditional show/hide of schedules tab for project detail view --- awx/ui_next/src/screens/Project/Project.jsx | 2 - .../src/screens/Project/Project.test.jsx | 43 +++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/awx/ui_next/src/screens/Project/Project.jsx b/awx/ui_next/src/screens/Project/Project.jsx index e882a8a594..50b8bfcb03 100644 --- a/awx/ui_next/src/screens/Project/Project.jsx +++ b/awx/ui_next/src/screens/Project/Project.jsx @@ -184,8 +184,6 @@ class Project extends Component { ); } - console.log(project); - return ( diff --git a/awx/ui_next/src/screens/Project/Project.test.jsx b/awx/ui_next/src/screens/Project/Project.test.jsx index 264e111dfa..f4926be0fd 100644 --- a/awx/ui_next/src/screens/Project/Project.test.jsx +++ b/awx/ui_next/src/screens/Project/Project.test.jsx @@ -68,6 +68,49 @@ describe('', () => { done(); }); + test('schedules tab shown for scm based projects.', async done => { + ProjectsAPI.readDetail.mockResolvedValue({ data: mockDetails }); + OrganizationsAPI.read.mockResolvedValue({ + count: 0, + next: null, + previous: null, + data: { results: [] }, + }); + + const wrapper = mountWithContexts( + {}} me={mockMe} /> + ); + const tabs = await waitForElement( + wrapper, + '.pf-c-tabs__item', + el => el.length === 4 + ); + expect(tabs.at(3).text()).toEqual('Schedules'); + done(); + }); + + test('schedules tab hidden for manual projects.', async done => { + const manualDetails = Object.assign(mockDetails, { scm_type: '' }); + ProjectsAPI.readDetail.mockResolvedValue({ data: manualDetails }); + OrganizationsAPI.read.mockResolvedValue({ + count: 0, + next: null, + previous: null, + data: { results: [] }, + }); + + const wrapper = mountWithContexts( + {}} me={mockMe} /> + ); + const tabs = await waitForElement( + wrapper, + '.pf-c-tabs__item', + el => el.length === 3 + ); + tabs.forEach(tab => expect(tab.text()).not.toEqual('Schedules')); + done(); + }); + test('should show content error when user attempts to navigate to erroneous route', async () => { const history = createMemoryHistory({ initialEntries: ['/projects/1/foobar'],