Skip to content

Commit 485d45d

Browse files
25.3 fb fix intermittent failing tc tests (#2405)
Co-authored-by: Dan Duffek <danield@labkey.com>
1 parent ed1e0c2 commit 485d45d

3 files changed

Lines changed: 20 additions & 12 deletions

File tree

src/org/labkey/test/components/ui/grids/DetailTableEdit.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import java.util.List;
2727
import java.util.stream.Collectors;
2828

29+
import static org.labkey.test.WebDriverWrapper.WAIT_FOR_JAVASCRIPT;
30+
2931
/**
3032
* automates /QueryModel/DetailPanel.tsx in its editable mode
3133
*/
@@ -34,7 +36,7 @@ public class DetailTableEdit extends WebDriverComponent<DetailTableEdit.ElementC
3436
private final WebElement _formElement;
3537
private final WebDriver _driver;
3638
private String _title;
37-
private int _readyTimeout = WebDriverWrapper.WAIT_FOR_JAVASCRIPT;
39+
private int _readyTimeout = WAIT_FOR_JAVASCRIPT;
3840

3941
protected DetailTableEdit(WebElement formElement, WebDriver driver)
4042
{
@@ -452,13 +454,17 @@ public boolean isSaveButtonEnabled()
452454
public DetailDataPanel clickSave()
453455
{
454456
String title = getSourceTitle();
457+
var componentEl = getComponentElement();
455458
getWrapper().shortWait().until(ExpectedConditions.elementToBeClickable(elementCache().saveButton));
456459
elementCache().saveButton.click();
457460

458461
// If save causes some update, wait until it is completed.
459462
getWrapper().longWait().withMessage("Update took too long to complete.")
460463
.until(ExpectedConditions.stalenessOf(elementCache().saveButton));
461464

465+
// ensure we don't find the current component; wait for it to become stale before searching
466+
getWrapper().shortWait().until(ExpectedConditions.stalenessOf(componentEl));
467+
462468
return new DetailDataPanel.DetailDataPanelFinder(getDriver()).withTitle(title).waitFor();
463469
}
464470

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,15 +300,15 @@ private void createUsers()
300300
private void createStudies()
301301
{
302302
// create time-based study
303-
projectMenu().navigateToFolder(getProjectName(), TIME_STUDY_FOLDER);
303+
goToProjectFolder(getProjectName(), TIME_STUDY_FOLDER);
304304
navBar().goToModule("Study");
305305
CreateStudyPage createStudyPage = _studyHelper.startCreateStudy();
306306
createStudyPage.setLabel(TIME_STUDY_NAME)
307307
.setTimepointType(StudyHelper.TimepointType.DATE)
308308
.createStudy();
309309

310310
// create a visit-based study in a different container
311-
projectMenu().navigateToFolder(getProjectName(), VISIT_STUDY_FOLDER);
311+
goToProjectFolder(getProjectName(), VISIT_STUDY_FOLDER);
312312
navBar().goToModule("Study");
313313
CreateStudyPage createVisitStudyPage = _studyHelper.startCreateStudy();
314314
createVisitStudyPage.setLabel(VISIT_STUDY_NAME)

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

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,8 @@ private void doTestCustomFolder()
467467
assertTextPresentInThisOrder("A customized web part", "Data Pipeline", "Experiment Runs", "Sample Type", "Assay List");
468468
assertTextPresent("Run Groups");
469469
assertElementNotPresent(Locator.linkWithText("Create Run Group")); // Not in small Run Groups web-part.
470+
// ensure the mouse isn't inadvertently hovering something else, causing obscuring popup
471+
mouseOver(Locator.tagWithClass("a", "brand-logo"));
470472
portalHelper.checkWebpartPermission("A customized web part", "Read", null);
471473
portalHelper.checkWebpartPermission("Data Pipeline", "Read", null);
472474
}
@@ -1050,7 +1052,7 @@ private void doTestWebParts()
10501052
{
10511053
log("Testing web parts in modules...");
10521054
//go to project portal
1053-
clickProject(getProjectName());
1055+
goToProjectHome();
10541056

10551057
//add Simple Module Web Part
10561058
new PortalHelper(this).addWebPart("Simple Module Web Part");
@@ -1064,7 +1066,7 @@ private void doTestWebParts()
10641066
protected void createList() throws Exception
10651067
{
10661068
//create a list for our query
1067-
clickProject(getProjectName());
1069+
goToProjectHome();
10681070
new PortalHelper(this).addWebPart("Lists");
10691071

10701072
log("Creating list for query/view/report test...");
@@ -1090,7 +1092,7 @@ private void doTestQueries()
10901092
log("Testing queries in modules...");
10911093

10921094
//go to query module portal
1093-
clickProject(getProjectName());
1095+
goToProjectHome();
10941096
goToModule("Query");
10951097
viewQueryData("lists", "TestQuery");
10961098

@@ -1102,7 +1104,7 @@ private void doTestQueries()
11021104
private void doTestQueryViews()
11031105
{
11041106
log("Testing module-based custom query views...");
1105-
clickProject(getProjectName());
1107+
goToProjectHome();
11061108
clickAndWait(Locator.linkWithText(LIST_NAME));
11071109

11081110
DataRegionTable table = new DataRegionTable("query", getDriver());
@@ -1133,13 +1135,13 @@ private void doTestReports()
11331135
_rReportHelper.ensureRConfig();
11341136

11351137
log("Testing module-based JS reports...");
1136-
clickProject(getProjectName());
1138+
goToProjectHome();
11371139
clickAndWait(Locator.linkWithText(LIST_NAME));
11381140
DataRegionTable table = new DataRegionTable("query", getDriver());
11391141
table.goToReport("Want To Be Cool");
11401142
waitForText(WAIT_FOR_JAVASCRIPT, "Less cool than expected. Loaded dependent scripts.");
11411143

1142-
clickProject(getProjectName());
1144+
goToProjectHome();
11431145
portalHelper.addWebPart("Report");
11441146
setFormElement(Locator.name("title"), "Report Tester Part");
11451147
selectOptionByValue(Locator.name("reportId"), "module:simpletest/reports/schemas/lists/People/Less Cool JS Report.js");
@@ -1241,7 +1243,7 @@ private void doTestImportTemplates() throws Exception
12411243
log("Testing import templates...");
12421244

12431245
//go to query module portal
1244-
clickProject(getProjectName());
1246+
goToProjectHome();
12451247
goToModule("Query");
12461248
viewQueryData(VEHICLE_SCHEMA, "Vehicles");
12471249
DataRegionTable table = new DataRegionTable("query", getDriver());
@@ -1848,7 +1850,7 @@ private void doTestCustomLogin()
18481850
private void doTestRestrictedModule()
18491851
{
18501852
log("Create folder with restricted");
1851-
clickProject(getProjectName());
1853+
goToProjectHome();
18521854
_containerHelper.createSubfolder(getProjectName(), RESTRICTED_FOLDER_NAME, RESTRICTED_FOLDER_TYPE);
18531855
PortalHelper portalHelper = new PortalHelper(this);
18541856
portalHelper.addWebPart("Restricted Module Web Part");
@@ -1860,7 +1862,7 @@ private void doTestRestrictedModule()
18601862
impersonateRole("Reader");
18611863
assertTextPresent("This is a web part view in the restricted module."); // Can still see web part
18621864
stopImpersonating();
1863-
clickProject(getProjectName());
1865+
goToProjectHome();
18641866
navigateToFolder(getProjectName(), RESTRICTED_FOLDER_NAME);
18651867
impersonateRole("Folder Administrator");
18661868
goToFolderManagement();

0 commit comments

Comments
 (0)