diff --git a/src/org/labkey/test/pages/issues/DetailsPage.java b/src/org/labkey/test/pages/issues/DetailsPage.java index d4a6a8428c..b099ad5f40 100644 --- a/src/org/labkey/test/pages/issues/DetailsPage.java +++ b/src/org/labkey/test/pages/issues/DetailsPage.java @@ -101,6 +101,12 @@ public InsertPage clickCreateRelatedIssue(String projectName, String issueName) return new InsertPage(getDriver()); } + public InsertPage clickCreateNewIssue() + { + elementCache().getMoreMenu().clickSubMenu(false, "New issue"); + return new InsertPage(getDriver()); + } + public DetailsPage clickShowRelatedIssueComment() { elementCache().getMoreMenu().clickSubMenu(false, "Show related comments"); diff --git a/src/org/labkey/test/pages/issues/IssuesAdminPage.java b/src/org/labkey/test/pages/issues/IssuesAdminPage.java index e42999c254..27069cb82f 100644 --- a/src/org/labkey/test/pages/issues/IssuesAdminPage.java +++ b/src/org/labkey/test/pages/issues/IssuesAdminPage.java @@ -19,6 +19,7 @@ import org.labkey.test.WebDriverWrapper; import org.labkey.test.WebTestHelper; import org.labkey.test.components.domain.DomainDesigner; +import org.labkey.test.components.html.Checkbox; import org.labkey.test.components.html.Input; import org.labkey.test.components.html.OptionSelect; import org.labkey.test.components.react.ReactSelect; @@ -128,6 +129,16 @@ public IssuesAdminPage setDefaultUser(String value) return this; } + public IssuesAdminPage setRestrictedList(boolean check) + { + expandPropertiesPanel(); + if (check) + elementCache().restrictedList.check(); + else + elementCache().restrictedList.uncheck(); + return this; + } + @Override public ListPage clickSave() { @@ -185,5 +196,6 @@ protected class ElementCache extends DomainDesigner.ElementCache ReactSelect assignedToSelect = ReactSelect.finder(getDriver()).findWhenNeeded(assignedToRow); WebElement defaultUserRow = Locator.tagWithClass("div", "row").containingIgnoreCase("Default User").findWhenNeeded(this); ReactSelect defaultUserSelect = ReactSelect.finder(getDriver()).findWhenNeeded(defaultUserRow); + Checkbox restrictedList = new Checkbox(Locator.checkboxByName("restrictedIssueList").findWhenNeeded(propertiesPanel)); } } diff --git a/src/org/labkey/test/util/IssuesHelper.java b/src/org/labkey/test/util/IssuesHelper.java index c38ff579b0..7783a394f0 100644 --- a/src/org/labkey/test/util/IssuesHelper.java +++ b/src/org/labkey/test/util/IssuesHelper.java @@ -100,20 +100,37 @@ public ListPage goToIssueList(String container, String name) @LogMethod public void createNewIssuesList(String name, AbstractContainerHelper containerHelper) + { + createNewIssuesList(name, containerHelper, true, true, true); + } + + @LogMethod + public void createNewIssuesList( + String name, + AbstractContainerHelper containerHelper, + boolean includeIssueDefinitionWebPart, + boolean includeIssueSummaryWebPart, + boolean includeSearchWebPart + ) { pushLocation(); containerHelper.enableModule("Issues"); PortalHelper portalHelper = new PortalHelper(getDriver()); - portalHelper.addWebPart("Issue Definitions"); + if (includeIssueDefinitionWebPart) + portalHelper.addWebPart("Issue Definitions"); IssueListDefDataRegion.fromWebPart(getDriver()).createIssuesListDefinition(name); popLocation(); - portalHelper.addWebPart("Issues Summary"); - selectOptionByValue(Locator.name("issueDefName"), name.toLowerCase().replaceAll("[ -]+", "")); - clickAndWait(Locator.linkWithText("Submit")); - portalHelper.addWebPart("Search"); + if (includeIssueSummaryWebPart) + { + portalHelper.addWebPart("Issues Summary"); + selectOptionByValue(Locator.name("issueDefName"), name.toLowerCase().replaceAll("[ -]+", "")); + clickAndWait(Locator.linkWithText("Submit")); + assertElementPresent(Locator.tagWithText("div", "There are no issues in this list.")); + } - assertElementPresent(Locator.tagWithText("div", "There are no issues in this list.")); + if (includeSearchWebPart) + portalHelper.addWebPart("Search"); } public void deleteIssueLists(String projectName, LabKeySiteWrapper test) @@ -215,6 +232,12 @@ public void setIssueAssignmentUser(@Nullable @LoggedParam String user) new IssuesAdminPage(getDriver()).setDefaultUser(user); } + @LogMethod + public void setRestrictedIssueList(boolean restricted) + { + new IssuesAdminPage(getDriver()).setRestrictedList(restricted); + } + public IssuesAdminPage goToAdmin() { clickButton("Admin");