diff --git a/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.js b/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.js index 8196cc43cb..15db9545fd 100644 --- a/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.js +++ b/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.js @@ -167,6 +167,11 @@ function JobTemplateDetail({ template }) { ); }; + const buildLinkURL = (instance) => + instance.is_container_group + ? '/instance_groups/container_group/' + : '/instance_groups/'; + if (instanceGroupsError) { return ; } @@ -322,9 +327,11 @@ function JobTemplateDetail({ template }) { value={ {instanceGroups.map((ig) => ( - - {ig.name} - + + + {ig.name} + + ))} } diff --git a/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.test.js b/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.test.js index bd1887b5f7..4535c51248 100644 --- a/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.test.js +++ b/awx/ui/src/screens/Template/JobTemplateDetail/JobTemplateDetail.test.js @@ -110,6 +110,13 @@ describe('', () => { expect(SCMBranch.prop('value')).toBe('Foo branch'); }); + test('should render instance groups link', async () => { + const instanceGroups = wrapper.find('Detail[label="Instance Groups"]'); + expect( + instanceGroups.find('Link[to="/instance_groups/2/details"]') + ).toHaveLength(1); + }); + test('should show content error for failed instance group fetch', async () => { JobTemplatesAPI.readInstanceGroups.mockImplementationOnce(() => Promise.reject(new Error())