From 6116a2ad46b040ecc40c96701dfdfdc63a33e96f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gr=C3=A9goire=20Aubert?= Date: Wed, 17 Jan 2018 15:22:27 +0100 Subject: [PATCH] SONAR-10264 Add ITs for project badges page --- .../java/org/sonarqube/qa/util/Tester.java | 5 + .../qa/util/pageobjects/Navigation.java | 6 +- .../js/apps/overview/badges/BadgesModal.tsx | 4 +- .../__snapshots__/BadgesModal-test.tsx.snap | 1 + .../tests/project/ProjectBadgesTest.java | 105 ++++++++++++++++++ .../tests/project/SonarCloudProjectSuite.java | 40 +++++++ 6 files changed, 159 insertions(+), 2 deletions(-) create mode 100644 tests/src/test/java/org/sonarqube/tests/project/ProjectBadgesTest.java create mode 100644 tests/src/test/java/org/sonarqube/tests/project/SonarCloudProjectSuite.java diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Tester.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Tester.java index 0337ca80044..9401ef2a907 100644 --- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Tester.java +++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/Tester.java @@ -141,6 +141,11 @@ public class Tester extends ExternalResource implements TesterSession { return Navigation.create(orchestrator); } + public Navigation openBrowser(String path) { + verifyStarted(); + return Navigation.create(orchestrator, path); + } + private void verifyNotStarted() { if (beforeCalled) { throw new IllegalStateException("Orchestrator should not be already started"); diff --git a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java index 930c84317de..f4e37dce67f 100644 --- a/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java +++ b/server/sonar-qa-util/src/main/java/org/sonarqube/qa/util/pageobjects/Navigation.java @@ -47,12 +47,16 @@ public class Navigation { } public static Navigation create(Orchestrator orchestrator) { + return create(orchestrator, "/"); + } + + public static Navigation create(Orchestrator orchestrator, String path) { WebDriver driver = SelenideConfig.configure(orchestrator); driver.manage().deleteAllCookies(); clearStorage(d -> d.getLocalStorage().clear()); clearStorage(d -> d.getSessionStorage().clear()); clearStorage(d -> Selenide.clearBrowserLocalStorage()); - return Selenide.open("/", Navigation.class); + return Selenide.open(path, Navigation.class); } private static void clearStorage(Consumer cleaner) { diff --git a/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx b/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx index 4eea5f43a12..d8d23b2182c 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx +++ b/server/sonar-web/src/main/js/apps/overview/badges/BadgesModal.tsx @@ -64,7 +64,9 @@ export default class BadgesModal extends React.PureComponent { const fullBadgeOptions = { branch, project, ...badgeOptions }; return ( <> - + {this.state.open && (
diff --git a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/__snapshots__/BadgesModal-test.tsx.snap b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/__snapshots__/BadgesModal-test.tsx.snap index c6fd05219b0..00e92664a30 100644 --- a/server/sonar-web/src/main/js/apps/overview/badges/__tests__/__snapshots__/BadgesModal-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/overview/badges/__tests__/__snapshots__/BadgesModal-test.tsx.snap @@ -3,6 +3,7 @@ exports[`should display the modal after click 1`] = `