11package org .labkey .test .pages .query ;
22
33import org .labkey .test .Locator ;
4+ import org .labkey .test .Locators ;
45import org .labkey .test .WebDriverWrapper ;
56import org .labkey .test .WebTestHelper ;
67import org .labkey .test .pages .LabKeyPage ;
78import org .labkey .test .util .DataRegion ;
89import org .labkey .test .util .DataRegionTable ;
910import org .labkey .test .util .Ext4Helper ;
1011import org .openqa .selenium .WebDriver ;
12+ import org .openqa .selenium .WebElement ;
1113import org .openqa .selenium .support .ui .WebDriverWait ;
1214
1315import java .time .Duration ;
@@ -88,7 +90,7 @@ public String getMetadataXml()
8890
8991 public SourceQueryPage clickSave ()
9092 {
91- Ext4Helper . Locators . ext4Button ( "Save" ). findElement ( getDriver ()) .click ();
93+ elementCache (). saveButton .click ();
9294 waitForElement (Locator .id ("status" ).withText ("Saved" ), WAIT_FOR_JAVASCRIPT );
9395 waitForElementToDisappear (Locator .id ("status" ).withText ("Saved" ), WAIT_FOR_JAVASCRIPT );
9496
@@ -97,16 +99,24 @@ public SourceQueryPage clickSave()
9799
98100 public ExecuteQueryPage clickSaveAndFinish ()
99101 {
100- clickAndWait (Ext4Helper .Locators .ext4Button ("Save & Finish" ).findElement (getDriver ()));
102+ clickAndWait (elementCache ().saveAndFinishButton );
103+ assertNoLabKeyErrors ();
101104 return new ExecuteQueryPage (getDriver ());
102105 }
103106
104107 public String clickSaveExpectingError ()
105108 {
106- Ext4Helper . Locators . ext4Button ( "Save" ). findElement ( getDriver ()) .click ();
109+ elementCache (). saveButton .click ();
107110 return waitForElement (Locator .tagWithId ("div" ,"status" )).getText ();
108111 }
109112
113+ public String clickSaveAndFinishExpectingError ()
114+ {
115+ clickAndWait (elementCache ().saveAndFinishButton );
116+ clearCache ();
117+ return waitForElement (Locators .labkeyError ).getText ();
118+ }
119+
110120 @ Override
111121 protected ElementCache newElementCache ()
112122 {
@@ -115,5 +125,7 @@ protected ElementCache newElementCache()
115125
116126 protected class ElementCache extends LabKeyPage <?>.ElementCache
117127 {
128+ private final WebElement saveButton = Ext4Helper .Locators .ext4Button ("Save" ).findWhenNeeded (this );
129+ private final WebElement saveAndFinishButton = Ext4Helper .Locators .ext4Button ("Save & Finish" ).findWhenNeeded (this );
118130 }
119131}
0 commit comments