Skip to content

Commit 50a8189

Browse files
Merge branch 'release25.9-SNAPSHOT' into 25.9_fb_variousLKSMTestFixes
2 parents f3c81b2 + 99cb163 commit 50a8189

4 files changed

Lines changed: 56 additions & 2 deletions

File tree

src/org/labkey/test/WebDriverWrapper.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2129,6 +2129,14 @@ public long doAndMaybeWaitForPageToLoad(int msWait, Supplier<Boolean> action)
21292129
return loadTimer.elapsed().toMillis();
21302130
}
21312131

2132+
public void doAndWaitForNewWindow(Runnable action)
2133+
{
2134+
Set<String> windows = getDriver().getWindowHandles();
2135+
action.run();
2136+
switchToWindow(windows.size());
2137+
waitForDocument();
2138+
}
2139+
21322140
public long doAndWaitForWindow(Runnable action, String windowName)
21332141
{
21342142
String initialWindow = getDriver().getWindowHandle();

src/org/labkey/test/tests/DataRegionTest.java

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,23 @@
1717
package org.labkey.test.tests;
1818

1919
import org.apache.commons.lang3.tuple.Pair;
20+
import org.assertj.core.api.Assertions;
2021
import org.junit.Test;
2122
import org.junit.experimental.categories.Category;
2223
import org.labkey.test.BaseWebDriverTest;
2324
import org.labkey.test.Locator;
2425
import org.labkey.test.categories.Daily;
2526
import org.labkey.test.categories.Data;
27+
import org.labkey.test.components.ChartTypeDialog;
2628
import org.labkey.test.params.FieldDefinition;
2729
import org.labkey.test.params.FieldDefinition.ColumnType;
2830
import org.labkey.test.util.DataRegionExportHelper;
2931
import org.labkey.test.util.DataRegionTable;
3032
import org.labkey.test.util.EscapeUtil;
33+
import org.labkey.test.util.selenium.WebDriverUtils;
3134
import org.openqa.selenium.NoSuchElementException;
3235
import org.openqa.selenium.WebElement;
36+
import org.openqa.selenium.interactions.Actions;
3337

3438
import java.net.MalformedURLException;
3539
import java.net.URL;
@@ -141,12 +145,34 @@ public void testSteps() throws Exception
141145
clickAndWait(Locator.linkWithText(LIST_NAME));
142146
URL url = getURL();
143147
dataRegionTest(url, INJECT_CHARS_1);
144-
dataRegionTest(url, INJECT_CHARS_2);
148+
DataRegionTable dataRegionTable = dataRegionTest(url, INJECT_CHARS_2);
149+
testOpenMenuItemInNewTab(dataRegionTable);
145150
exportLoggingTest();
146151

147152
testQWPDemoPage();
148153
}
149154

155+
/**
156+
* Regression coverage for Issue 53629: NavMenu doesn't open in new tab correctly
157+
*/
158+
private void testOpenMenuItemInNewTab(DataRegionTable dataRegionTable)
159+
{
160+
WebElement createChartMenuItem = dataRegionTable
161+
.getReportMenu()
162+
.openMenuTo("Create Chart");
163+
doAndWaitForNewWindow(() ->
164+
new Actions(getDriver())
165+
.keyDown(WebDriverUtils.MODIFIER_KEY)
166+
.click(createChartMenuItem)
167+
.perform());
168+
ChartTypeDialog chartTypeDialog = new ChartTypeDialog(getDriver());
169+
Assertions.assertThat(chartTypeDialog.getColumnList())
170+
.as("List should be pre-selected for chart")
171+
.containsExactlyInAnyOrder(LIST_KEY_NAME, NAME_COLUMN.getName(), HEX_COLUMN.getName());
172+
getDriver().close();
173+
switchToMainWindow();
174+
}
175+
150176
@Override
151177
protected List<Pair<String, String>> getTabSignalsPairs()
152178
{
@@ -188,7 +214,7 @@ private void createList()
188214
_listHelper.uploadData(LIST_DATA);
189215
}
190216

191-
private void dataRegionTest(URL url, String dataRegionName) throws MalformedURLException
217+
private DataRegionTable dataRegionTest(URL url, String dataRegionName) throws MalformedURLException
192218
{
193219
log("** Beginning test for dataRegionName: " + dataRegionName);
194220

@@ -281,6 +307,8 @@ private void dataRegionTest(URL url, String dataRegionName) throws MalformedURLE
281307

282308
table.rowSelector().showAll();
283309
assertEquals(15, table.getDataRowCount());
310+
311+
return table;
284312
}
285313

286314
private void enableComplianceIfInstalled()

src/org/labkey/test/tests/DataViewsReportOrderingTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import org.labkey.test.TestTimeoutException;
2626
import org.labkey.test.categories.Daily;
2727
import org.labkey.test.components.ext4.Window;
28+
import org.labkey.test.pages.reports.ManageViewsPage;
29+
import org.labkey.test.pages.user.ShowUsersPage;
2830
import org.labkey.test.util.PortalHelper;
2931
import org.openqa.selenium.NoSuchElementException;
3032
import org.openqa.selenium.WebDriver;
@@ -133,6 +135,15 @@ private String[] reverseReports(List<String> reportsOriginalOrder)
133135
return reverseReports;
134136
}
135137

138+
@Test
139+
public void testRootFolderAccess()
140+
{
141+
// Regression for issue 53630
142+
ShowUsersPage showUsersPage = goToSiteUsers();
143+
ManageViewsPage mvp = showUsersPage.getUsersTable().openManageViews();
144+
mvp.clickAddReport("R Report");
145+
}
146+
136147
@Override
137148
protected BrowserType bestBrowser()
138149
{

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.labkey.test.pages.ImportDataPage;
4141
import org.labkey.test.pages.TimeChartWizard;
4242
import org.labkey.test.pages.query.UpdateQueryRowPage;
43+
import org.labkey.test.pages.reports.ManageViewsPage;
4344
import org.labkey.test.params.FieldKey;
4445
import org.labkey.test.selenium.LazyWebElement;
4546
import org.labkey.test.selenium.RefindingWebElement;
@@ -166,6 +167,12 @@ public CustomizeView openCustomizeGrid()
166167
return getCustomizeView();
167168
}
168169

170+
public ManageViewsPage openManageViews()
171+
{
172+
getViewsMenu().clickSubMenu(false, "Manage Views");
173+
return new ManageViewsPage(getDriver());
174+
}
175+
169176
protected DataRegionExportHelper getExportPanel()
170177
{
171178
if (_exportHelper == null)

0 commit comments

Comments
 (0)