update tests for Ongoing Tasks Page

Signed-off-by: Kashish Mittal <kmittal@redhat.com>
This commit is contained in:
Kashish Mittal
2025-03-13 11:55:05 -04:00
parent bc3161292c
commit 9bdd6dedf3
4 changed files with 62 additions and 20 deletions
@@ -161,20 +161,53 @@ describe('OngoingTask', () => {
await expect(rendered.findByText('Hide Logs')).resolves.toBeInTheDocument();
});
it('should have cancel and start over buttons be disabled without the proper permissions', async () => {
it('should render not found error page when user does not have permission to read the task', async () => {
const permissionApi = mockApis.permission({
authorize: AuthorizeResult.DENY,
});
await expect(render(permissionApi)).rejects.toThrow(
'Reached NotFound Page',
);
});
it('should have cancel button be disabled when user has read permission but lacks cancel permission', async () => {
const permissionApi = mockApis.permission({
authorize: request => {
if (request.permission.name === 'scaffolder.task.cancel') {
return AuthorizeResult.DENY;
}
return AuthorizeResult.ALLOW;
},
});
const rendered = await render(permissionApi);
const { getByTestId } = rendered;
expect(getByTestId('cancel-button')).toHaveClass('Mui-disabled');
expect(getByTestId('start-over-button')).toHaveClass('Mui-disabled');
await act(async () => {
fireEvent.click(getByTestId('menu-button'));
});
expect(getByTestId('cancel-task')).toHaveClass('Mui-disabled');
expect(getByTestId('start-over-task')).toHaveClass('Mui-disabled');
});
it('should have start over button be disabled when user has read permission but lacks create permission', async () => {
const permissionApi = mockApis.permission({
authorize: request => {
if (request.permission.name === 'scaffolder.task.create') {
return AuthorizeResult.DENY;
}
return AuthorizeResult.ALLOW;
},
});
const rendered = await render(permissionApi);
const { getByTestId } = rendered;
expect(getByTestId('start-over-button')).toHaveClass('Mui-disabled');
await act(async () => {
fireEvent.click(getByTestId('menu-button'));
});
expect(getByTestId('start-over-button')).toHaveClass('Mui-disabled');
});
});