Wizard: Kernel step basics

This adds foundation for Kernel step, including gating and basic tests.
This commit is contained in:
regexowl 2024-12-13 14:16:47 +01:00 committed by Klara Simickova
parent 8004ed75e4
commit 8e046e3018
22 changed files with 141 additions and 4 deletions

View file

@ -27,6 +27,7 @@ const goToDetailsStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First boot script
await clickNext(); // Details
};

View file

@ -116,6 +116,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // Details
await enterBlueprintName();
await clickNext(); // Review

View file

@ -49,6 +49,7 @@ const goToFirstBootStep = async (): Promise<void> => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First Boot
};
@ -72,6 +73,7 @@ const goFromOscapToFirstBoot = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First boot script
};

View file

@ -41,6 +41,7 @@ const goToHostnameStep = async () => {
};
const goToReviewStep = async () => {
await clickNext(); // Kernel
await clickNext(); // First boot script
await clickNext(); // Details
await enterBlueprintName();
@ -74,12 +75,12 @@ describe('Step Hostname', () => {
router = undefined;
});
test('clicking Next loads First boot script', async () => {
test('clicking Next loads Kernel', async () => {
await renderCreateMode();
await goToHostnameStep();
await clickNext();
await screen.findByRole('heading', {
name: 'First boot configuration',
name: 'Kernel',
});
});

View file

@ -139,6 +139,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First boot
await clickNext(); // Details
await enterBlueprintName();

View file

@ -0,0 +1,65 @@
import type { Router as RemixRouter } from '@remix-run/router';
import { screen, waitFor } from '@testing-library/react';
import { userEvent } from '@testing-library/user-event';
import {
clickBack,
clickNext,
verifyCancelButton,
} from '../../wizardTestUtils';
import { clickRegisterLater, renderCreateMode } from '../../wizardTestUtils';
let router: RemixRouter | undefined = undefined;
const goToKernelStep = async () => {
const user = userEvent.setup();
const guestImageCheckBox = await screen.findByRole('checkbox', {
name: /virtualization guest image checkbox/i,
});
await waitFor(() => user.click(guestImageCheckBox));
await clickNext(); // Registration
await clickRegisterLater();
await clickNext(); // OpenSCAP
await clickNext(); // File system configuration
await clickNext(); // Snapshots
await clickNext(); // Custom repositories
await clickNext(); // Additional packages
await clickNext(); // Users
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
};
describe('Step Kernel', () => {
beforeEach(() => {
vi.clearAllMocks();
router = undefined;
});
test('clicking Next loads First boot script', async () => {
await renderCreateMode();
await goToKernelStep();
await clickNext();
await screen.findByRole('heading', {
name: 'First boot configuration',
});
});
test('clicking Back loads Hostname', async () => {
await renderCreateMode();
await goToKernelStep();
await clickBack();
await screen.findByRole('heading', { name: 'Hostname' });
});
test('clicking Cancel loads landing page', async () => {
await renderCreateMode();
await goToKernelStep();
await verifyCancelButton(router);
});
});
// TO DO 'Kernel step' -> 'revisit step button on Review works'
// TO DO 'Kernel request generated correctly'
// TO DO 'Kernel edit mode'

View file

@ -40,6 +40,7 @@ const goToLocaleStep = async () => {
const goToReviewStep = async () => {
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First boot
await clickNext(); // Details
await enterBlueprintName();

View file

@ -102,6 +102,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // FirstBoot
await clickNext(); // Details
await enterBlueprintName('Oscap test');

View file

@ -56,6 +56,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First Boot
await clickNext(); // Details
await enterBlueprintName();

View file

@ -99,6 +99,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // Details
await enterBlueprintName();
await clickNext(); // Review

View file

@ -49,6 +49,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First Boot
await clickNext(); // Details
await enterBlueprintName();

View file

@ -57,6 +57,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First boot script
await clickNext(); // Details
await clickNext(); // Review

View file

@ -41,6 +41,7 @@ const goToReviewStep = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First boot script
await enterBlueprintName();
await clickNext(); // Review

View file

@ -48,6 +48,7 @@ const goToReview = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // FirstBoot
await clickNext(); // Details
await enterBlueprintName();

View file

@ -48,6 +48,7 @@ const goToReview = async () => {
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // FirstBoot
await clickNext(); // Details
await enterBlueprintName();

View file

@ -42,9 +42,10 @@ const goToReview = async () => {
await clickNext(); // Users
await clickNext(); // Timezone
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // FirstBoot
await clickNext(); // Details
await clickNext(); // Hostname
await enterBlueprintName();
await clickNext(); // Review
};

View file

@ -40,6 +40,7 @@ const goToTimezoneStep = async () => {
const goToReviewStep = async () => {
await clickNext(); // Locale
await clickNext(); // Hostname
await clickNext(); // Kernel
await clickNext(); // First boot script
await clickNext(); // Details
await enterBlueprintName();