From 310cc2fd03136b04ee6e6a90279a48f00e09f0d1 Mon Sep 17 00:00:00 2001 From: nixocio Date: Fri, 4 Jun 2021 13:22:34 -0400 Subject: [PATCH] Update message for missing EE for Job pages Update message for missing EE for Job pages See: https://github.com/ansible/awx/issues/10355 --- .../ExecutionEnvironmentDetail.jsx | 32 +++++++++++++++++-- .../ExecutionEnvironmentDetail.test.jsx | 15 +++++++++ .../src/components/JobList/JobListItem.jsx | 2 +- .../src/screens/Job/JobDetail/JobDetail.jsx | 2 +- .../screens/Job/JobDetail/JobDetail.test.jsx | 8 ++--- 5 files changed, 49 insertions(+), 10 deletions(-) diff --git a/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.jsx b/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.jsx index 415a855d9f..720595e013 100644 --- a/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.jsx +++ b/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.jsx @@ -17,9 +17,10 @@ const ExclamationTriangleIcon = styled(PFExclamationTriangleIcon)` `; function ExecutionEnvironmentDetail({ - virtualEnvironment, executionEnvironment, isDefaultEnvironment, + virtualEnvironment, + verifyMissingVirtualEnv, }) { const label = isDefaultEnvironment ? t`Default Execution Environment` @@ -40,7 +41,7 @@ function ExecutionEnvironmentDetail({ /> ); } - if (virtualEnvironment && !executionEnvironment) { + if (verifyMissingVirtualEnv && virtualEnvironment && !executionEnvironment) { return ( ); } + if ( + !verifyMissingVirtualEnv && + !virtualEnvironment && + !executionEnvironment + ) { + return ( + + {t`Missing resource`} + + + + + + + } + dataCy="execution-environment-detail" + /> + ); + } + return null; } @@ -68,12 +94,14 @@ ExecutionEnvironmentDetail.propTypes = { executionEnvironment: ExecutionEnvironment, isDefaultEnvironment: bool, virtualEnvironment: string, + verifyMissingVirtualEnv: bool, }; ExecutionEnvironmentDetail.defaultProps = { isDefaultEnvironment: false, executionEnvironment: null, virtualEnvironment: '', + verifyMissingVirtualEnv: true, }; export default ExecutionEnvironmentDetail; diff --git a/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.test.jsx b/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.test.jsx index 136114b0f3..b98a8e324d 100644 --- a/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.test.jsx +++ b/awx/ui_next/src/components/ExecutionEnvironmentDetail/ExecutionEnvironmentDetail.test.jsx @@ -61,4 +61,19 @@ describe('', () => { `Custom virtual environment ${virtualEnvironment} must be replaced by an execution environment.` ); }); + + test('should display warning deleted execution environment', async () => { + const wrapper = mountWithContexts( + + ); + const executionEnvironment = wrapper.find('ExecutionEnvironmentDetail'); + expect(executionEnvironment).toHaveLength(1); + expect(executionEnvironment.find('dt').text()).toEqual( + 'Execution Environment' + ); + expect(executionEnvironment.find('dd').text()).toEqual('Missing resource'); + expect(wrapper.find('Tooltip').prop('content')).toEqual( + `Execution environment is missing or deleted.` + ); + }); }); diff --git a/awx/ui_next/src/components/JobList/JobListItem.jsx b/awx/ui_next/src/components/JobList/JobListItem.jsx index a9f7304abb..ade6f62c20 100644 --- a/awx/ui_next/src/components/JobList/JobListItem.jsx +++ b/awx/ui_next/src/components/JobList/JobListItem.jsx @@ -203,8 +203,8 @@ function JobListItem({ /> )} {credentials && credentials.length > 0 && ( {instanceGroup && !instanceGroup?.is_container_group && ( diff --git a/awx/ui_next/src/screens/Job/JobDetail/JobDetail.test.jsx b/awx/ui_next/src/screens/Job/JobDetail/JobDetail.test.jsx index b35fc08958..3b8c31405b 100644 --- a/awx/ui_next/src/screens/Job/JobDetail/JobDetail.test.jsx +++ b/awx/ui_next/src/screens/Job/JobDetail/JobDetail.test.jsx @@ -71,12 +71,8 @@ describe('', () => { assertDetail('Machine Credential', 'SSH: Machine cred'); assertDetail('Source Control Branch', 'main'); - const executionEnvironment = wrapper.find('ExecutionEnvironmentDetail'); - expect(executionEnvironment).toHaveLength(1); - expect(executionEnvironment.find('dt').text()).toEqual( - 'Execution Environment' - ); - expect(executionEnvironment.find('dd').text()).toEqual( + assertDetail( + 'Execution Environment', mockJobData.summary_fields.execution_environment.name );