V2Wizard/Tests: Add new helper function interceptBlueprintRequest

The logic for spying on an API request has been extracted into a new
reusable helper function to make writing tests that need to perform
request assertions easier.
This commit is contained in:
lucasgarfield 2024-02-14 08:37:42 +01:00 committed by Klara Simickova
parent f83fd51468
commit ef7582a8ff
2 changed files with 10 additions and 19 deletions

View file

@ -10,8 +10,7 @@ import { clickNext } from '../../../../testUtils';
import {
enterBlueprintName,
render,
saveBlueprint,
spyOnRequest,
interceptBlueprintRequest,
} from '../../wizardTestUtils';
jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({
@ -109,10 +108,7 @@ describe('registration request generated correctly', () => {
await goToRegistrationStep();
await selectActivationKey();
await goToReviewStep();
const receivedRequestPromise = spyOnRequest(CREATE_BLUEPRINT);
await saveBlueprint();
const receivedRequest = await receivedRequestPromise;
const receivedRequest = await interceptBlueprintRequest(CREATE_BLUEPRINT);
const expectedSubscription = {
'activation-key': 'name0',
@ -137,10 +133,7 @@ describe('registration request generated correctly', () => {
await deselectEnableRemoteRemediations();
await selectActivationKey();
await goToReviewStep();
const receivedRequestPromise = spyOnRequest(CREATE_BLUEPRINT);
await saveBlueprint();
const receivedRequest = await receivedRequestPromise;
const receivedRequest = await interceptBlueprintRequest(CREATE_BLUEPRINT);
const expectedSubscription = {
'activation-key': 'name0',
@ -165,10 +158,7 @@ describe('registration request generated correctly', () => {
await deselectPredictiveAnalytics();
await selectActivationKey();
await goToReviewStep();
const receivedRequestPromise = spyOnRequest(CREATE_BLUEPRINT);
await saveBlueprint();
const receivedRequest = await receivedRequestPromise;
const receivedRequest = await interceptBlueprintRequest(CREATE_BLUEPRINT);
const expectedSubscription = {
'activation-key': 'name0',
@ -192,10 +182,7 @@ describe('registration request generated correctly', () => {
await clickShowAdditionalConnectionOptions();
await clickRegisterLater();
await goToReviewStep();
const receivedRequestPromise = spyOnRequest(CREATE_BLUEPRINT);
await saveBlueprint();
const receivedRequest = await receivedRequestPromise;
const receivedRequest = await interceptBlueprintRequest(CREATE_BLUEPRINT);
const expectedRequest = {
...blueprintRequest,

View file

@ -45,7 +45,9 @@ export const enterBlueprintName = async () => {
await userEvent.type(blueprintName, 'Red Velvet');
};
export const saveBlueprint = async () => {
export const interceptBlueprintRequest = async (requestPathname: string) => {
const receivedRequestPromise = spyOnRequest(requestPathname);
const saveButton = await screen.findByRole('button', {
name: 'Save',
});
@ -54,4 +56,6 @@ export const saveBlueprint = async () => {
name: 'Save changes',
});
await userEvent.click(saveChangesButton);
return await receivedRequestPromise;
};