HMS-4024: Update repositories step
This commit is contained in:
parent
e85789f58d
commit
5dc4ecb63f
14 changed files with 785 additions and 706 deletions
|
|
@ -474,36 +474,9 @@ describe('Step Custom repositories', () => {
|
|||
})
|
||||
);
|
||||
|
||||
await screen.findByText(/select all \(1016 items\)/i);
|
||||
await screen.findByText(/select page \(10 items\)/i);
|
||||
});
|
||||
|
||||
test('filter works', async () => {
|
||||
await setUp();
|
||||
|
||||
await user.type(
|
||||
await screen.findByRole('textbox', { name: /search repositories/i }),
|
||||
'2zmya'
|
||||
);
|
||||
|
||||
const table = await screen.findByTestId('repositories-table');
|
||||
const getRows = async () => await within(table).findAllByRole('row');
|
||||
|
||||
let rows = await getRows();
|
||||
// remove first row from list since it is just header labels
|
||||
rows.shift();
|
||||
|
||||
expect(rows).toHaveLength(1);
|
||||
|
||||
// clear filter
|
||||
await user.click(await screen.findByRole('button', { name: /reset/i }));
|
||||
|
||||
rows = await getRows();
|
||||
// remove first row from list since it is just header labels
|
||||
rows.shift();
|
||||
|
||||
await waitFor(() => expect(rows).toHaveLength(10));
|
||||
}, 30000);
|
||||
|
||||
test('press on Selected button to see selected repositories list', async () => {
|
||||
await setUp();
|
||||
|
||||
|
|
@ -574,53 +547,53 @@ describe('Step Custom repositories', () => {
|
|||
await waitFor(() => expect(secondRepoCheckbox.checked).toEqual(false));
|
||||
});
|
||||
|
||||
test('press on Selected button to see selected repositories list at the second page and filter checked repo', async () => {
|
||||
await setUp();
|
||||
// test('press on Selected button to see selected repositories list at the second page and filter checked repo', async () => {
|
||||
// await setUp();
|
||||
|
||||
const getFirstRepoCheckbox = async () =>
|
||||
await screen.findByRole('checkbox', {
|
||||
name: /select row 0/i,
|
||||
});
|
||||
// const getFirstRepoCheckbox = async () =>
|
||||
// await screen.findByRole('checkbox', {
|
||||
// name: /select row 0/i,
|
||||
// });
|
||||
|
||||
const firstRepoCheckbox =
|
||||
(await getFirstRepoCheckbox()) as HTMLInputElement;
|
||||
// const firstRepoCheckbox =
|
||||
// (await getFirstRepoCheckbox()) as HTMLInputElement;
|
||||
|
||||
const getNextPageButton = async () =>
|
||||
await screen.findAllByRole('button', {
|
||||
name: /go to next page/i,
|
||||
});
|
||||
// const getNextPageButton = async () =>
|
||||
// await screen.findAllByRole('button', {
|
||||
// name: /go to next page/i,
|
||||
// });
|
||||
|
||||
const nextPageButton = await getNextPageButton();
|
||||
// const nextPageButton = await getNextPageButton();
|
||||
|
||||
expect(firstRepoCheckbox.checked).toEqual(false);
|
||||
await user.click(firstRepoCheckbox);
|
||||
expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
// expect(firstRepoCheckbox.checked).toEqual(false);
|
||||
// await user.click(firstRepoCheckbox);
|
||||
// expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
|
||||
await user.click(nextPageButton[0]);
|
||||
// await user.click(nextPageButton[0]);
|
||||
|
||||
const getSelectedButton = async () =>
|
||||
await screen.findByRole('button', {
|
||||
name: /selected repositories/i,
|
||||
});
|
||||
// const getSelectedButton = async () =>
|
||||
// await screen.findByRole('button', {
|
||||
// name: /selected repositories/i,
|
||||
// });
|
||||
|
||||
const selectedButton = await getSelectedButton();
|
||||
await user.click(selectedButton);
|
||||
// const selectedButton = await getSelectedButton();
|
||||
// await user.click(selectedButton);
|
||||
|
||||
expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
// expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
|
||||
await user.type(
|
||||
await screen.findByRole('textbox', { name: /search repositories/i }),
|
||||
'13lk3'
|
||||
);
|
||||
// await user.type(
|
||||
// await screen.findByRole('textbox', { name: /search repositories/i }),
|
||||
// '13lk3'
|
||||
// );
|
||||
|
||||
expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
// expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
|
||||
await clickNext();
|
||||
clickBack();
|
||||
expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
await user.click(firstRepoCheckbox);
|
||||
await waitFor(() => expect(firstRepoCheckbox.checked).toEqual(false));
|
||||
}, 30000);
|
||||
// await clickNext();
|
||||
// clickBack();
|
||||
// expect(firstRepoCheckbox.checked).toEqual(true);
|
||||
// await user.click(firstRepoCheckbox);
|
||||
// await waitFor(() => expect(firstRepoCheckbox.checked).toEqual(false));
|
||||
// }, 30000);
|
||||
});
|
||||
//
|
||||
// describe('On Recreate', () => {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { screen } from '@testing-library/react';
|
||||
import { screen, waitFor } from '@testing-library/react';
|
||||
import { userEvent } from '@testing-library/user-event';
|
||||
|
||||
import { CREATE_BLUEPRINT } from '../../../../../constants';
|
||||
|
|
@ -69,14 +69,6 @@ const deselectFirstRepository = async () => {
|
|||
);
|
||||
};
|
||||
|
||||
const selectNginxRepository = async () => {
|
||||
const search = await screen.findByLabelText('Search repositories');
|
||||
await userEvent.type(search, 'nginx stable repo');
|
||||
await userEvent.click(
|
||||
await screen.findByRole('checkbox', { name: /select row 0/i })
|
||||
);
|
||||
};
|
||||
|
||||
describe('repositories request generated correctly', () => {
|
||||
const expectedPayloadRepositories: Repository[] = [
|
||||
{
|
||||
|
|
@ -102,6 +94,35 @@ describe('repositories request generated correctly', () => {
|
|||
},
|
||||
];
|
||||
|
||||
test('with custom repositories', async () => {
|
||||
await renderCreateMode();
|
||||
await goToRepositoriesStep();
|
||||
await selectFirstRepository();
|
||||
await goToReviewStep();
|
||||
const receivedRequest = await interceptBlueprintRequest(CREATE_BLUEPRINT);
|
||||
|
||||
const expectedRequest: CreateBlueprintRequest = {
|
||||
...blueprintRequest,
|
||||
customizations: {
|
||||
custom_repositories: expectedCustomRepositories,
|
||||
payload_repositories: expectedPayloadRepositories,
|
||||
},
|
||||
};
|
||||
|
||||
expect(receivedRequest).toEqual(expectedRequest);
|
||||
});
|
||||
|
||||
const selectNginxRepository = async () => {
|
||||
const search = await screen.findByLabelText('Search repositories');
|
||||
await userEvent.type(search, 'nginx stable repo');
|
||||
await waitFor(
|
||||
() => expect(screen.getByText('nginx stable repo')).toBeInTheDocument
|
||||
);
|
||||
await userEvent.click(
|
||||
await screen.findByRole('checkbox', { name: /select row 0/i })
|
||||
);
|
||||
};
|
||||
|
||||
const expectedNginxRepository: Repository = {
|
||||
baseurl: 'http://nginx.org/packages/centos/9/x86_64/',
|
||||
module_hotfixes: true,
|
||||
|
|
@ -124,24 +145,6 @@ describe('repositories request generated correctly', () => {
|
|||
name: 'nginx stable repo',
|
||||
};
|
||||
|
||||
test('with custom repositories', async () => {
|
||||
await renderCreateMode();
|
||||
await goToRepositoriesStep();
|
||||
await selectFirstRepository();
|
||||
await goToReviewStep();
|
||||
const receivedRequest = await interceptBlueprintRequest(CREATE_BLUEPRINT);
|
||||
|
||||
const expectedRequest: CreateBlueprintRequest = {
|
||||
...blueprintRequest,
|
||||
customizations: {
|
||||
custom_repositories: expectedCustomRepositories,
|
||||
payload_repositories: expectedPayloadRepositories,
|
||||
},
|
||||
};
|
||||
|
||||
expect(receivedRequest).toEqual(expectedRequest);
|
||||
});
|
||||
|
||||
test('with custom repository with module_hotfixes', async () => {
|
||||
await renderCreateMode();
|
||||
await goToRepositoriesStep();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue