From: Ambroise C Date: Wed, 29 May 2024 13:46:44 +0000 (+0200) Subject: SONAR-21218 Split QualityGate test to reduce runtime X-Git-Tag: 10.6.0.92116~85 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c1f821a0d960ab5445c2cee8e5367612c07ea321;p=sonarqube.git SONAR-21218 Split QualityGate test to reduce runtime --- diff --git a/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/QualityGate-it.tsx b/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/QualityGate-it.tsx index 2c5e6a5e0d9..31b58311c5d 100644 --- a/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/QualityGate-it.tsx +++ b/server/sonar-web/src/main/js/apps/quality-gates/components/__tests__/QualityGate-it.tsx @@ -199,7 +199,7 @@ it('should be able to set as default a quality gate which is CaYC compliant', as expect(await screen.findByRole('button', { name: /Sonar way default/ })).toBeInTheDocument(); }); -it('should be able to add a condition', async () => { +it('should be able to add a condition on new code', async () => { const user = userEvent.setup(); qualityGateHandler.setIsAdmin(true); renderQualityGateApp(); @@ -222,10 +222,20 @@ it('should be able to add a condition', async () => { const newConditions = byTestId('quality-gates__conditions-new'); expect(await newConditions.byRole('cell', { name: 'Issues' }).find()).toBeInTheDocument(); expect(await newConditions.byRole('cell', { name: '12' }).find()).toBeInTheDocument(); +}); + +it('should be able to add a condition on overall code', async () => { + const user = userEvent.setup(); + qualityGateHandler.setIsAdmin(true); + renderQualityGateApp(); + + await user.click(await screen.findByText('SonarSource way - CFamily')); // On overall code await user.click(await screen.findByText('quality_gates.add_condition')); + const dialog = byRole('dialog'); + await selectEvent.select(dialog.byRole('combobox').get(), ['Info Issues']); await user.click(dialog.byRole('radio', { name: 'quality_gates.conditions.overall_code' }).get()); await user.click(dialog.byLabelText('quality_gates.conditions.operator').get()); @@ -241,16 +251,28 @@ it('should be able to add a condition', async () => { await overallConditions.byRole('cell', { name: 'Info Issues' }).find(), ).toBeInTheDocument(); expect(await overallConditions.byRole('cell', { name: '42' }).find()).toBeInTheDocument(); +}); + +it('should be able to select a rating', async () => { + const user = userEvent.setup(); + qualityGateHandler.setIsAdmin(true); + renderQualityGateApp(); + + await user.click(await screen.findByText('SonarSource way - CFamily')); // Select a rating await user.click(await screen.findByText('quality_gates.add_condition')); + const dialog = byRole('dialog'); + await user.click(dialog.byRole('radio', { name: 'quality_gates.conditions.overall_code' }).get()); await selectEvent.select(dialog.byRole('combobox').get(), ['Maintainability Rating']); await user.click(dialog.byLabelText('quality_gates.conditions.value').get()); await user.click(dialog.byText('B').get()); await user.click(dialog.byRole('button', { name: 'quality_gates.add_condition' }).get()); + const overallConditions = byTestId('quality-gates__conditions-overall'); + expect( await overallConditions.byRole('cell', { name: 'Maintainability Rating' }).find(), ).toBeInTheDocument();