Skip to content

Commit e8690f7

Browse files
authored
Support testing restricted issue lists (#2264)
1 parent d1de0b3 commit e8690f7

3 files changed

Lines changed: 47 additions & 6 deletions

File tree

src/org/labkey/test/pages/issues/DetailsPage.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ public InsertPage clickCreateRelatedIssue(String projectName, String issueName)
101101
return new InsertPage(getDriver());
102102
}
103103

104+
public InsertPage clickCreateNewIssue()
105+
{
106+
elementCache().getMoreMenu().clickSubMenu(false, "New issue");
107+
return new InsertPage(getDriver());
108+
}
109+
104110
public DetailsPage clickShowRelatedIssueComment()
105111
{
106112
elementCache().getMoreMenu().clickSubMenu(false, "Show related comments");

src/org/labkey/test/pages/issues/IssuesAdminPage.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.labkey.test.WebDriverWrapper;
2020
import org.labkey.test.WebTestHelper;
2121
import org.labkey.test.components.domain.DomainDesigner;
22+
import org.labkey.test.components.html.Checkbox;
2223
import org.labkey.test.components.html.Input;
2324
import org.labkey.test.components.html.OptionSelect;
2425
import org.labkey.test.components.react.ReactSelect;
@@ -128,6 +129,16 @@ public IssuesAdminPage setDefaultUser(String value)
128129
return this;
129130
}
130131

132+
public IssuesAdminPage setRestrictedList(boolean check)
133+
{
134+
expandPropertiesPanel();
135+
if (check)
136+
elementCache().restrictedList.check();
137+
else
138+
elementCache().restrictedList.uncheck();
139+
return this;
140+
}
141+
131142
@Override
132143
public ListPage clickSave()
133144
{
@@ -185,5 +196,6 @@ protected class ElementCache extends DomainDesigner<?>.ElementCache
185196
ReactSelect assignedToSelect = ReactSelect.finder(getDriver()).findWhenNeeded(assignedToRow);
186197
WebElement defaultUserRow = Locator.tagWithClass("div", "row").containingIgnoreCase("Default User").findWhenNeeded(this);
187198
ReactSelect defaultUserSelect = ReactSelect.finder(getDriver()).findWhenNeeded(defaultUserRow);
199+
Checkbox restrictedList = new Checkbox(Locator.checkboxByName("restrictedIssueList").findWhenNeeded(propertiesPanel));
188200
}
189201
}

src/org/labkey/test/util/IssuesHelper.java

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,20 +100,37 @@ public ListPage goToIssueList(String container, String name)
100100

101101
@LogMethod
102102
public void createNewIssuesList(String name, AbstractContainerHelper containerHelper)
103+
{
104+
createNewIssuesList(name, containerHelper, true, true, true);
105+
}
106+
107+
@LogMethod
108+
public void createNewIssuesList(
109+
String name,
110+
AbstractContainerHelper containerHelper,
111+
boolean includeIssueDefinitionWebPart,
112+
boolean includeIssueSummaryWebPart,
113+
boolean includeSearchWebPart
114+
)
103115
{
104116
pushLocation();
105117
containerHelper.enableModule("Issues");
106118
PortalHelper portalHelper = new PortalHelper(getDriver());
107-
portalHelper.addWebPart("Issue Definitions");
119+
if (includeIssueDefinitionWebPart)
120+
portalHelper.addWebPart("Issue Definitions");
108121
IssueListDefDataRegion.fromWebPart(getDriver()).createIssuesListDefinition(name);
109122
popLocation();
110123

111-
portalHelper.addWebPart("Issues Summary");
112-
selectOptionByValue(Locator.name("issueDefName"), name.toLowerCase().replaceAll("[ -]+", ""));
113-
clickAndWait(Locator.linkWithText("Submit"));
114-
portalHelper.addWebPart("Search");
124+
if (includeIssueSummaryWebPart)
125+
{
126+
portalHelper.addWebPart("Issues Summary");
127+
selectOptionByValue(Locator.name("issueDefName"), name.toLowerCase().replaceAll("[ -]+", ""));
128+
clickAndWait(Locator.linkWithText("Submit"));
129+
assertElementPresent(Locator.tagWithText("div", "There are no issues in this list."));
130+
}
115131

116-
assertElementPresent(Locator.tagWithText("div", "There are no issues in this list."));
132+
if (includeSearchWebPart)
133+
portalHelper.addWebPart("Search");
117134
}
118135

119136
public void deleteIssueLists(String projectName, LabKeySiteWrapper test)
@@ -215,6 +232,12 @@ public void setIssueAssignmentUser(@Nullable @LoggedParam String user)
215232
new IssuesAdminPage(getDriver()).setDefaultUser(user);
216233
}
217234

235+
@LogMethod
236+
public void setRestrictedIssueList(boolean restricted)
237+
{
238+
new IssuesAdminPage(getDriver()).setRestrictedList(restricted);
239+
}
240+
218241
public IssuesAdminPage goToAdmin()
219242
{
220243
clickButton("Admin");

0 commit comments

Comments
 (0)