fix tests

fix/EE-4602/switch-color-fix-rel-new
Prabhat Khera 2023-09-26 11:38:00 +13:00
parent ad95bac5cc
commit 2a0bcfd99e
1 changed files with 16 additions and 16 deletions

View File

@ -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,