Skip to content

Commit

Permalink
Filter EE also by Organization for JT
Browse files Browse the repository at this point in the history
Filter EE also by Organization for JT.

See: ansible#9770
  • Loading branch information
nixocio committed Mar 31, 2021
1 parent 416951c commit 85e41be
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 19 deletions.
20 changes: 13 additions & 7 deletions awx/ui_next/src/components/Lookup/ExecutionEnvironmentLookup.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ function ExecutionEnvironmentLookup({
return {};
}
const { data } = await ProjectsAPI.readDetail(projectId);
return data;
return { data };
}, [projectId]),
{
project: null,
project: {},
}
);

Expand All @@ -75,15 +75,21 @@ function ExecutionEnvironmentLookup({
const globallyAvailableParams = globallyAvailable
? { or__organization__isnull: 'True' }
: {};
const organizationIdParams =
organizationId || project?.organization
? { or__organization__id: organizationId }
const organizationIdParams = organizationId
? { or__organization__id: organizationId }
: {};
const projectIdParams =
projectId && project?.data?.organization
? {
or__organization__id: project.data.organization,
}
: {};
const [{ data }, actionsResponse] = await Promise.all([
ExecutionEnvironmentsAPI.read(
mergeParams(params, {
...globallyAvailableParams,
...organizationIdParams,
...projectIdParams,
})
),
ExecutionEnvironmentsAPI.readOptions(),
Expand All @@ -98,7 +104,7 @@ function ExecutionEnvironmentLookup({
actionsResponse.data.actions?.GET || {}
).filter(key => actionsResponse.data.actions?.GET[key].filterable),
};
}, [location, globallyAvailable, organizationId, project]),
}, [location, globallyAvailable, organizationId, projectId, project]),
{
executionEnvironments: [],
count: 0,
Expand Down Expand Up @@ -174,7 +180,7 @@ function ExecutionEnvironmentLookup({
label={renderLabel(isGlobalDefaultEnvironment, isDefaultEnvironment)}
labelIcon={popoverContent && <Popover content={popoverContent} />}
>
{tooltip ? (
{tooltip && isDisabled ? (
<Tooltip content={tooltip}>{renderLookup()}</Tooltip>
) : (
renderLookup()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,7 @@ describe('ExecutionEnvironmentLookup', () => {
ExecutionEnvironmentsAPI.read.mockResolvedValue(
mockedExecutionEnvironments
);
ProjectsAPI.read.mockResolvedValue({
data: {
count: 1,
results: [
{
id: 1,
name: 'Fuz',
},
],
},
});
ProjectsAPI.readDetail.mockResolvedValue({ data: { organization: 39 } });
});

afterEach(() => {
Expand Down Expand Up @@ -97,4 +87,45 @@ describe('ExecutionEnvironmentLookup', () => {
wrapper.find('FormGroup[label="Execution Environment"]').length
).toBe(1);
});

test('should call api with organization id', async () => {
await act(async () => {
wrapper = mountWithContexts(
<ExecutionEnvironmentLookup
value={executionEnvironment}
onChange={() => {}}
organizationId={1}
globallyAvailable
/>
);
});
expect(ExecutionEnvironmentsAPI.read).toHaveBeenCalledWith({
or__organization__id: 1,
or__organization__isnull: 'True',
order_by: 'name',
page: 1,
page_size: 5,
});
});

test('should call api with organization id from the related project', async () => {
await act(async () => {
wrapper = mountWithContexts(
<ExecutionEnvironmentLookup
value={executionEnvironment}
onChange={() => {}}
projectId={12}
globallyAvailable
/>
);
});
expect(ProjectsAPI.readDetail).toHaveBeenCalledWith(12);
expect(ExecutionEnvironmentsAPI.read).toHaveBeenCalledWith({
or__organization__id: 39,
or__organization__isnull: 'True',
order_by: 'name',
page: 1,
page_size: 5,
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ function JobTemplateForm({
t`Select a project before editing the execution environment.`
)}
globallyAvailable
isDisabled={!projectField.value}
isDisabled={!projectField.value?.id}
projectId={projectField.value?.id}
/>

Expand Down

0 comments on commit 85e41be

Please sign in to comment.