diff options
author | Stas Vilchik <vilchiks@gmail.com> | 2016-06-14 13:32:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-14 13:32:01 +0200 |
commit | adf34599004603569e300d512f6b30a103da5861 (patch) | |
tree | cd8609065278a3d0888625086d2a7c0384b79ecb /it | |
parent | 45433b0f0d7d5ee5f28f1322fc1749511cfec806 (diff) | |
download | sonarqube-adf34599004603569e300d512f6b30a103da5861.tar.gz sonarqube-adf34599004603569e300d512f6b30a103da5861.zip |
SONAR-7720 Modify the Permission Templates page to support project creators (#1030)
Diffstat (limited to 'it')
3 files changed, 128 insertions, 0 deletions
diff --git a/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java b/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java index d7761ffd017..f924fd307c3 100644 --- a/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java +++ b/it/it-tests/src/test/java/it/authorisation/PermissionTemplatesPageTest.java @@ -42,4 +42,12 @@ public class PermissionTemplatesPageTest { ).build(); new SeleneseTest(selenese).runOn(orchestrator); } + + @Test + public void should_manage_project_creators() throws Exception { + Selenese selenese = Selenese.builder().setHtmlTestsInClasspath("should_manage_project_creators", + "/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html" + ).build(); + new SeleneseTest(selenese).runOn(orchestrator); + } } diff --git a/it/it-tests/src/test/java/util/selenium/SeleneseTest.java b/it/it-tests/src/test/java/util/selenium/SeleneseTest.java index 14b87375398..bf84e6416d7 100644 --- a/it/it-tests/src/test/java/util/selenium/SeleneseTest.java +++ b/it/it-tests/src/test/java/util/selenium/SeleneseTest.java @@ -162,6 +162,9 @@ public class SeleneseTest { case "waitForElementPresent": waitForElementPresent(param1, param2); return this; + case "waitForElementNotPresent": + waitForElementNotPresent(param1, param2); + return this; case "waitForVisible": waitForVisible(param1); return this; @@ -388,6 +391,14 @@ public class SeleneseTest { } } + private void waitForElementNotPresent(String selector, String text) { + if (Strings.isNullOrEmpty(text)) { + find(selector).should().not().exist(); + } else { + find(selector).withText(text).should().not().exist(); + } + } + private void waitForVisible(String selector) { find(selector).should().beDisplayed(); } diff --git a/it/it-tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html b/it/it-tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html new file mode 100644 index 00000000000..e8a576509aa --- /dev/null +++ b/it/it-tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_manage_project_creators</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>id=login</td> + <td>admin</td> +</tr> +<tr> + <td>type</td> + <td>id=password</td> + <td>admin</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>name=commit</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/permission_templates</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=td[data-permission="user"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=td[data-permission="user"] .js-update-users</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#grant-to-project-creators</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=#grant-to-project-creators:not(:checked)</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#grant-to-project-creators</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-modal-close</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=td[data-permission="user"] .js-project-creators</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=td[data-permission="user"] .js-update-users</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#grant-to-project-creators</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=#grant-to-project-creators:checked</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#grant-to-project-creators</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-modal-close</td> + <td></td> +</tr> +<tr> + <td>waitForElementNotPresent</td> + <td>css=td[data-permission="user"] .js-project-creators</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> |