diff --git a/src/Components/CreateImageWizard/steps/Review/ReviewStep.tsx b/src/Components/CreateImageWizard/steps/Review/ReviewStep.tsx index 6889ca02c..1c23de0cf 100644 --- a/src/Components/CreateImageWizard/steps/Review/ReviewStep.tsx +++ b/src/Components/CreateImageWizard/steps/Review/ReviewStep.tsx @@ -32,6 +32,7 @@ import { TimezoneList, LocaleList, HostnameList, + KernelList, } from './ReviewStepTextLists'; import isRhel from '../../../../../src/Utilities/isRhel'; @@ -83,12 +84,14 @@ const Review = ({ snapshottingEnabled }: { snapshottingEnabled: boolean }) => { const [isExpandedTimezone, setIsExpandedTimezone] = useState(true); const [isExpandedLocale, setIsExpandedLocale] = useState(true); const [isExpandedHostname, setIsExpandedHostname] = useState(true); + const [isExpandedKernel, setIsExpandedKernel] = useState(true); const [isExpandableFirstBoot, setIsExpandedFirstBoot] = useState(true); const [isExpandedUsers, setIsExpandedUsers] = useState(true); const isTimezoneEnabled = useFlag('image-builder.timezone.enabled'); const isLocaleEnabled = useFlag('image-builder.locale.enabled'); const isHostnameEnabled = useFlag('image-builder.hostname.enabled'); + const isKernelEnabled = useFlag('image-builder.kernel.enabled'); const onToggleImageOutput = (isExpandedImageOutput: boolean) => setIsExpandedImageOutput(isExpandedImageOutput); @@ -112,6 +115,8 @@ const Review = ({ snapshottingEnabled }: { snapshottingEnabled: boolean }) => { setIsExpandedLocale(isExpandedLocale); const onToggleHostname = (isExpandedHostname: boolean) => setIsExpandedHostname(isExpandedHostname); + const onToggleKernel = (isExpandedKernel: boolean) => + setIsExpandedKernel(isExpandedKernel); const onToggleFirstBoot = (isExpandableFirstBoot: boolean) => setIsExpandedFirstBoot(isExpandableFirstBoot); const onToggleUsers = (isExpandedUsers: boolean) => @@ -398,6 +403,23 @@ const Review = ({ snapshottingEnabled }: { snapshottingEnabled: boolean }) => { )} + {isKernelEnabled && ( + + onToggleKernel(isExpandedKernel) + } + isExpanded={isExpandedKernel} + isIndented + data-testid="kernel-expandable" + > + + + )} {isFirstBootEnabled && ( { ); }; +export const KernelList = () => { + const kernel = useAppSelector(selectKernel); + + return ( + + + + Name + + + {kernel.name ? kernel.name : 'None'} + + + Append + + + {kernel.append ? kernel.append : 'None'} + + + + ); +}; + export const FirstBootList = () => { const isFirstbootEnabled = !!useAppSelector(selectFirstBootScript); diff --git a/src/test/Components/CreateImageWizard/steps/Kernel/Kernel.test.tsx b/src/test/Components/CreateImageWizard/steps/Kernel/Kernel.test.tsx index 9af2bfe9c..09225e940 100644 --- a/src/test/Components/CreateImageWizard/steps/Kernel/Kernel.test.tsx +++ b/src/test/Components/CreateImageWizard/steps/Kernel/Kernel.test.tsx @@ -1,5 +1,5 @@ import type { Router as RemixRouter } from '@remix-run/router'; -import { screen, waitFor } from '@testing-library/react'; +import { screen, waitFor, within } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; import { CREATE_BLUEPRINT } from '../../../../../constants'; @@ -82,6 +82,13 @@ const clearKernelName = async () => { await waitFor(() => user.click(kernelNameClearBtn)); }; +const clickRevisitButton = async () => { + const user = userEvent.setup(); + const expandable = await screen.findByTestId('kernel-expandable'); + const revisitButton = await within(expandable).findByTestId('revisit-kernel'); + await waitFor(() => user.click(revisitButton)); +}; + describe('Step Kernel', () => { beforeEach(() => { vi.clearAllMocks(); @@ -136,6 +143,15 @@ describe('Step Kernel', () => { expect(screen.queryByText(/Invalid format/)).not.toBeInTheDocument(); expect(nextButton).toBeEnabled(); }); + + test('revisit step button on Review works', async () => { + await renderCreateMode(); + await goToKernelStep(); + await selectKernelName('kernel'); + await goToReviewStep(); + await clickRevisitButton(); + await screen.findByRole('heading', { name: /Kernel/ }); + }); }); describe('Kernel request generated correctly', () => { @@ -185,7 +201,6 @@ describe('Kernel request generated correctly', () => { }); }); -// TO DO 'Kernel step' -> 'revisit step button on Review works' // TO DO 'Kernel request generated correctly' -> 'with valid kernel append' // TO DO 'Kernel request generated correctly' -> 'with valid kernel name and kernel append' // TO DO 'Kernel edit mode'