mirror of https://github.com/portainer/portainer
fix tests
parent
ad95bac5cc
commit
2a0bcfd99e
|
@ -27,20 +27,20 @@ test.each([
|
||||||
const resourceControl = buildViewModel(ownership);
|
const resourceControl = buildViewModel(ownership);
|
||||||
const { queryByLabelText } = await renderComponent(
|
const { queryByLabelText } = await renderComponent(
|
||||||
ResourceControlType.Container,
|
ResourceControlType.Container,
|
||||||
resourceControl
|
resourceControl,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(queryByLabelText('ownership')).toHaveTextContent(ownership);
|
expect(queryByLabelText('ownership')).toHaveTextContent(ownership);
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
test('when resource control is not supplied, show administrators', async () => {
|
test('when resource control is not supplied, show administrators', async () => {
|
||||||
const { queryByLabelText } = await renderComponent(
|
const { queryByLabelText } = await renderComponent(
|
||||||
ResourceControlType.Container
|
ResourceControlType.Container,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(queryByLabelText('ownership')).toHaveTextContent(
|
expect(queryByLabelText('ownership')).toHaveTextContent(
|
||||||
ResourceControlOwnership.ADMINISTRATORS
|
ResourceControlOwnership.ADMINISTRATORS,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -71,19 +71,19 @@ for (let i = 0; i < inheritanceTests.length; i += 1) {
|
||||||
test(`when resource is ${ResourceControlType[resourceType]} and resource control is ${ResourceControlType[parentType]}, show message`, async () => {
|
test(`when resource is ${ResourceControlType[resourceType]} and resource control is ${ResourceControlType[parentType]}, show message`, async () => {
|
||||||
const resourceControl = buildViewModel(
|
const resourceControl = buildViewModel(
|
||||||
ResourceControlOwnership.ADMINISTRATORS,
|
ResourceControlOwnership.ADMINISTRATORS,
|
||||||
parentType
|
parentType,
|
||||||
);
|
);
|
||||||
|
|
||||||
const { queryByLabelText } = await renderComponent(
|
const { queryByLabelText } = await renderComponent(
|
||||||
resourceType,
|
resourceType,
|
||||||
resourceControl
|
resourceControl,
|
||||||
);
|
);
|
||||||
const inheritanceMessage = queryByLabelText('inheritance-message');
|
const inheritanceMessage = queryByLabelText('inheritance-message');
|
||||||
expect(inheritanceMessage).toBeVisible();
|
expect(inheritanceMessage).toBeVisible();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
test('when resource is limited to specific users, show comma separated list of their names', async () => {
|
test('when resource is limited to specific users, show number of users', async () => {
|
||||||
const users = createMockUsers(10, Role.Standard);
|
const users = createMockUsers(10, Role.Standard);
|
||||||
|
|
||||||
server.use(rest.get('/api/users', (req, res, ctx) => res(ctx.json(users))));
|
server.use(rest.get('/api/users', (req, res, ctx) => res(ctx.json(users))));
|
||||||
|
@ -96,18 +96,18 @@ test('when resource is limited to specific users, show comma separated list of t
|
||||||
restrictedToUsers.map((user) => ({
|
restrictedToUsers.map((user) => ({
|
||||||
UserId: user.Id,
|
UserId: user.Id,
|
||||||
AccessLevel: 1,
|
AccessLevel: 1,
|
||||||
}))
|
})),
|
||||||
);
|
);
|
||||||
|
|
||||||
const { queryByText, findByLabelText } = await renderComponent(
|
const { queryByText, findByLabelText } = await renderComponent(
|
||||||
undefined,
|
undefined,
|
||||||
resourceControl
|
resourceControl,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(queryByText(/Authorized users/)).toBeVisible();
|
expect(queryByText(/Authorized users/)).toBeVisible();
|
||||||
|
|
||||||
await expect(findByLabelText('authorized-users')).resolves.toHaveTextContent(
|
await expect(findByLabelText('authorized-users')).resolves.toHaveTextContent(
|
||||||
restrictedToUsers.map((user) => user.Username).join(', ')
|
`${restrictedToUsers.length} users`,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -125,28 +125,28 @@ test('when resource is limited to specific teams, show comma separated list of t
|
||||||
restrictedToTeams.map((team) => ({
|
restrictedToTeams.map((team) => ({
|
||||||
TeamId: team.Id,
|
TeamId: team.Id,
|
||||||
AccessLevel: 1,
|
AccessLevel: 1,
|
||||||
}))
|
})),
|
||||||
);
|
);
|
||||||
|
|
||||||
const { queryByText, findByLabelText } = await renderComponent(
|
const { queryByText, findByLabelText } = await renderComponent(
|
||||||
undefined,
|
undefined,
|
||||||
resourceControl
|
resourceControl,
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(queryByText(/Authorized teams/)).toBeVisible();
|
expect(queryByText(/Authorized teams/)).toBeVisible();
|
||||||
|
|
||||||
await expect(findByLabelText('authorized-teams')).resolves.toHaveTextContent(
|
await expect(findByLabelText('authorized-teams')).resolves.toHaveTextContent(
|
||||||
restrictedToTeams.map((team) => team.Name).join(', ')
|
restrictedToTeams.map((team) => team.Name).join(', '),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
async function renderComponent(
|
async function renderComponent(
|
||||||
resourceType: ResourceControlType = ResourceControlType.Container,
|
resourceType: ResourceControlType = ResourceControlType.Container,
|
||||||
resourceControl?: ResourceControlViewModel
|
resourceControl?: ResourceControlViewModel,
|
||||||
) {
|
) {
|
||||||
const WithUser = withUserProvider(AccessControlPanelDetails);
|
const WithUser = withUserProvider(AccessControlPanelDetails);
|
||||||
const queries = renderWithQueryClient(
|
const queries = renderWithQueryClient(
|
||||||
<WithUser resourceControl={resourceControl} resourceType={resourceType} />
|
<WithUser resourceControl={resourceControl} resourceType={resourceType} />,
|
||||||
);
|
);
|
||||||
await expect(queries.findByText('Ownership')).resolves.toBeVisible();
|
await expect(queries.findByText('Ownership')).resolves.toBeVisible();
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ function buildViewModel(
|
||||||
ownership: ResourceControlOwnership,
|
ownership: ResourceControlOwnership,
|
||||||
type: ResourceControlType = ResourceControlType.Config,
|
type: ResourceControlType = ResourceControlType.Config,
|
||||||
users: UserResourceAccess[] = [],
|
users: UserResourceAccess[] = [],
|
||||||
teams: TeamResourceAccess[] = []
|
teams: TeamResourceAccess[] = [],
|
||||||
): ResourceControlViewModel {
|
): ResourceControlViewModel {
|
||||||
return {
|
return {
|
||||||
Id: 0,
|
Id: 0,
|
||||||
|
|
Loading…
Reference in New Issue