diff --git a/src/routes/settings/costModels/costModel/updateRateModel.test.tsx b/src/routes/settings/costModels/costModel/updateRateModel.test.tsx index 845509e79..ce74fe804 100644 --- a/src/routes/settings/costModels/costModel/updateRateModel.test.tsx +++ b/src/routes/settings/costModels/costModel/updateRateModel.test.tsx @@ -271,7 +271,7 @@ describe('update-rate', () => { render(); const descInput = screen.getByDisplayValue('openshift-aws-node'); - const saveButton = screen.getByText(regExp(messages.save)); + const saveButton = screen.getByRole('button', { name: regExp(messages.save)} ); expect(saveButton.getAttribute('disabled')).not.toBeNull(); await user.clear(descInput); @@ -289,7 +289,7 @@ describe('update-rate', () => { render(); - const saveButton = screen.getByText(regExp(messages.save)); + const saveButton = screen.getByRole('button', { name: regExp(messages.save)} ); await user.click(screen.getByLabelText('Select Measurement')); options = await screen.findAllByRole('option'); @@ -327,11 +327,12 @@ describe('update-rate', () => { test('regular', async () => { const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime }); render(); - const saveButton = screen.getByText(regExp(messages.save)); - await user.click(screen.getByLabelText(/infrastructure/i)); + const saveButton = screen.getByRole('button', { name: regExp(messages.save)} ); + + await user.click(screen.getByRole('radio', { name: /infrastructure/i })); expect(saveButton.getAttribute('disabled')).toBeNull(); - await user.click(screen.getByLabelText(/supplementary/i)); + await user.click(screen.getByRole('radio', { name: /supplementary/i })); expect(saveButton.getAttribute('disabled')).not.toBeNull(); await user.type(screen.getByDisplayValue(/55/i), '.3'); @@ -339,11 +340,14 @@ describe('update-rate', () => { await user.type(screen.getByDisplayValue(/55.3/i), '{backspace}{backspace}'); expect(saveButton.getAttribute('disabled')).not.toBeNull(); - await user.click(screen.getByLabelText(regExp(messages.costModelsEnterTagRate))); + await user.click(screen.getByRole('switch', { name: regExp(messages.costModelsEnterTagRate)} )); expect(saveButton.getAttribute('disabled')).not.toBeNull(); - await user.type(screen.getByLabelText(regExp(messages.costModelsFilterTagKey)), 'openshift'); - await user.type(screen.getByLabelText(regExp(messages.costModelsTagRateTableValue)), 'worker'); - await user.type(screen.getByLabelText(regExp(messages.rate)), '0.321'); + + // Todo: The following did not return multiple label text prior to PatternFly v6 + await user.type(screen.getAllByLabelText(regExp(messages.costModelsFilterTagKey))[1], 'openshift'); + await user.type(screen.getAllByLabelText(regExp(messages.costModelsTagRateTableValue))[1], 'worker'); + await user.type(screen.getAllByLabelText(regExp(messages.rate))[1], '0.321'); + expect(saveButton.getAttribute('disabled')).toBeNull(); await user.click(saveButton); }); @@ -351,7 +355,7 @@ describe('update-rate', () => { test('tag', async () => { const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime }); render(); - const saveButton = screen.getByText(regExp(messages.save)); + const saveButton = screen.getByRole('button', { name: regExp(messages.save)} ); expect(saveButton.getAttribute('disabled')).not.toBeNull(); await user.type(screen.getByDisplayValue(/^container$/i), '1'); expect(saveButton.getAttribute('disabled')).toBeNull(); @@ -368,16 +372,21 @@ describe('update-rate', () => { await user.type(screen.getByDisplayValue(/^0.43$/i), '{backspace}'); expect(saveButton.getAttribute('disabled')).not.toBeNull(); - await user.click(screen.getAllByLabelText(regExp(messages.default))[1]); + // Todo: Was [1] prior to PatternFly v6 + await user.click(screen.getAllByLabelText(regExp(messages.default))[2]); expect(saveButton.getAttribute('disabled')).toBeNull(); - await user.click(screen.getAllByLabelText(regExp(messages.default))[0]); + // Todo: Was [0] prior to PatternFly v6 + await user.click(screen.getAllByLabelText(regExp(messages.default))[1]); expect(saveButton.getAttribute('disabled')).not.toBeNull(); await user.click(screen.getByText(/Add more tag values/i)); await act(async () => - user.type(screen.getAllByLabelText(regExp(messages.costModelsTagRateTableValue))[4], 'something random') + // Todo: Was [4] prior to PatternFly v6 + user.type(screen.getAllByLabelText(regExp(messages.costModelsTagRateTableValue))[5], 'something random') ); - await user.type(screen.getAllByLabelText(regExp(messages.rate))[4], '1.01'); + // Todo: Was [4] prior to PatternFly v6 + await user.type(screen.getAllByLabelText(regExp(messages.rate))[5], '1.01'); + expect(saveButton.getAttribute('disabled')).toBeNull(); await user.click(screen.getAllByLabelText(regExp(messages.costModelsRemoveTagLabel))[4]); expect(saveButton.getAttribute('disabled')).not.toBeNull(); @@ -397,9 +406,10 @@ describe('update-rate', () => { options = await screen.findAllByRole('option'); await user.click(options[1]); - await user.click(screen.getByLabelText(regExp(messages.costModelsEnterTagRate))); + // Todo: The following did not return multiple label text prior to PatternFly v6 + await user.click(screen.getAllByLabelText(regExp(messages.costModelsEnterTagRate))[1]); await act(async () => - user.type(screen.getByLabelText(regExp(messages.costModelsFilterTagKey)), 'openshift-region-1') + user.type(screen.getAllByLabelText(regExp(messages.costModelsFilterTagKey))[1], 'openshift-region-1') ); expect(screen.getByText(regExp(messages.priceListDuplicate))).not.toBeNull(); }); @@ -407,7 +417,8 @@ describe('update-rate', () => { test('duplicate tag key from tag rate', async () => { const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime }); render(); - const filterTagInput = screen.getByLabelText(regExp(messages.costModelsFilterTagKey)); + // Todo: The following did not return multiple label text prior to PatternFly v6 + const filterTagInput = screen.getAllByLabelText(regExp(messages.costModelsFilterTagKey))[1]; await user.clear(filterTagInput); await user.type(filterTagInput, 'openshift-region-1'); expect(screen.getByText(regExp(messages.priceListDuplicate))).not.toBeNull();