diff --git a/src/legacy-libraries-migration/LegacyLibMigrationPage.test.tsx b/src/legacy-libraries-migration/LegacyLibMigrationPage.test.tsx index f019c1669..a752dc686 100644 --- a/src/legacy-libraries-migration/LegacyLibMigrationPage.test.tsx +++ b/src/legacy-libraries-migration/LegacyLibMigrationPage.test.tsx @@ -162,9 +162,20 @@ describe('', () => { }); it('should back to select legacy libraries', async () => { + const user = userEvent.setup(); renderPage(); - expect(await screen.findByText('Migrate Legacy Libraries')).toBeInTheDocument(); + // The filter is Unmigrated by default + const filterButton = await screen.findByRole('button', { name: /unmigrated/i }); + expect(filterButton).toBeInTheDocument(); + + // Clear filter to show all + await user.click(filterButton); + const clearButton = await screen.findByRole('button', { name: /clear filter/i }); + await user.click(clearButton); + expect(await screen.findByText('MBA')).toBeInTheDocument(); + expect(await screen.findByText('Legacy library 1')).toBeInTheDocument(); + expect(await screen.findByText('MBA 1')).toBeInTheDocument(); const legacyLibrary = screen.getByRole('checkbox', { name: 'MBA' }); legacyLibrary.click(); @@ -178,7 +189,13 @@ describe('', () => { const backButton = screen.getByRole('button', { name: /back/i }); backButton.click(); + // The selected legacy library remains checked + expect(legacyLibrary).toBeChecked(); + + // The filter remains the same expect(await screen.findByText('MBA')).toBeInTheDocument(); + expect(await screen.findByText('Legacy library 1')).toBeInTheDocument(); + expect(await screen.findByText('MBA 1')).toBeInTheDocument(); }); it('should select a library destination', async () => { @@ -230,6 +247,8 @@ describe('', () => { backButton.click(); expect(await screen.findByText('Test Library 1')).toBeInTheDocument(); + // The selected v2 library remains checked + expect(radioButton).toBeChecked(); }); it('should open the create new library modal', async () => { diff --git a/src/legacy-libraries-migration/LegacyLibMigrationPage.tsx b/src/legacy-libraries-migration/LegacyLibMigrationPage.tsx index 306a695af..e031ac9f7 100644 --- a/src/legacy-libraries-migration/LegacyLibMigrationPage.tsx +++ b/src/legacy-libraries-migration/LegacyLibMigrationPage.tsx @@ -80,6 +80,7 @@ export const LegacyLibMigrationPage = () => { const [currentStep, setCurrentStep] = useState('select-libraries'); const [isExitModalOpen, openExitModal, closeExitModal] = useToggle(false); const [legacyLibraries, setLegacyLibraries] = useState([]); + const [migrationFilter, setMigrationFilter] = useState([Filter.unmigrated]); const [destinationLibrary, setDestination] = useState(); const [confirmationButtonState, setConfirmationButtonState] = useState('default'); const migrate = useUpdateContainerCollections(); @@ -127,7 +128,6 @@ export const LegacyLibMigrationPage = () => { openExitModal(); break; case 'select-destination': - setDestination(undefined); setCurrentStep('select-libraries'); break; case 'confirmation-view': @@ -193,7 +193,8 @@ export const LegacyLibMigrationPage = () => { selectedIds={legacyLibrariesIds} handleCheck={handleUpdateLegacyLibraries} hideMigationAlert - initialFilter={[Filter.unmigrated]} + migrationFilter={migrationFilter} + setMigrationFilter={setMigrationFilter} setSelectedLibraries={setLegacyLibraries} /> @@ -221,7 +222,7 @@ export const LegacyLibMigrationPage = () => { -
+