Linkify instance/container groups job template

Linkify instance/container groups job template

See: https://github.com/ansible/awx/issues/11352
This commit is contained in:
nixocio 2021-11-16 16:12:48 -05:00
parent 099efb883d
commit c665caaf35
2 changed files with 17 additions and 3 deletions

View File

@ -167,6 +167,11 @@ function JobTemplateDetail({ template }) {
);
};
const buildLinkURL = (instance) =>
instance.is_container_group
? '/instance_groups/container_group/'
: '/instance_groups/';
if (instanceGroupsError) {
return <ContentError error={instanceGroupsError} />;
}
@ -322,9 +327,11 @@ function JobTemplateDetail({ template }) {
value={
<ChipGroup numChips={5} totalChips={instanceGroups.length}>
{instanceGroups.map((ig) => (
<Chip key={ig.id} isReadOnly>
{ig.name}
</Chip>
<Link to={`${buildLinkURL(ig)}${ig.id}/details`} key={ig.id}>
<Chip key={ig.id} isReadOnly>
{ig.name}
</Chip>
</Link>
))}
</ChipGroup>
}

View File

@ -110,6 +110,13 @@ describe('<JobTemplateDetail />', () => {
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())