Wizard: Remove deprecated select for HyperV Generation

This swaps deprecated HyperV Generation select for a non deprecated one.
This commit is contained in:
regexowl 2025-03-07 10:37:59 +01:00 committed by Lucas Garfield
parent c4dae746e7
commit 53625ed190
2 changed files with 27 additions and 20 deletions

View file

@ -1,11 +1,13 @@
import React, { useState } from 'react';
import { FormGroup } from '@patternfly/react-core';
import {
FormGroup,
MenuToggle,
MenuToggleElement,
Select,
SelectList,
SelectOption,
SelectVariant,
} from '@patternfly/react-core/deprecated';
} from '@patternfly/react-core';
import { useAppDispatch, useAppSelector } from '../../../../../store/hooks';
import {
@ -42,25 +44,32 @@ export const AzureHyperVSelect = () => {
/>,
];
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
<MenuToggle
ref={toggleRef}
data-testid="azure-hyper-v-generation-select"
onClick={() => setIsOpen(!isOpen)}
isExpanded={isOpen}
isFullWidth
>
{hyperVGeneration === 'V1' ? 'Generation 1' : 'Generation 2'}
</MenuToggle>
);
return (
<>
<FormGroup
isRequired
label="HyperV Generation"
data-testid="azure-hyper-v-generation-select"
>
<FormGroup isRequired label="HyperV Generation">
<Select
ouiaId="hyperv_gen_select"
variant={SelectVariant.single}
onToggle={handleToggle}
onSelect={handleSelect}
isScrollable
isOpen={isOpen}
selections={
hyperVGeneration === 'V1' ? 'Generation 1' : 'Generation 2'
}
value={hyperVGeneration}
selected={hyperVGeneration === 'V1' ? 'Generation 1' : 'Generation 2'}
onSelect={handleSelect}
onOpenChange={handleToggle}
toggle={toggle}
shouldFocusFirstItemOnOpen={false}
>
{selectOptions}
<SelectList>{selectOptions}</SelectList>
</Select>
</FormGroup>
</>

View file

@ -157,13 +157,11 @@ const enterSubscriptionId = async () => {
const selectV1 = async () => {
const user = userEvent.setup();
const hypervMenu = screen.getAllByRole('button', {
name: /options menu/i,
})[0];
const hypervMenu = screen.getByTestId('azure-hyper-v-generation-select');
await waitFor(() => user.click(hypervMenu));
const v1 = await screen.findByRole('option', {
name: /v1/i,
name: /generation 1/i,
});
await waitFor(() => user.click(v1));
};