2022-05-31 05:33:59 +00:00
|
|
|
import { ObjectsRegistry } from "../Objects/Registry";
|
|
|
|
|
|
|
|
|
|
export class DeployMode {
|
|
|
|
|
private locator = ObjectsRegistry.CommonLocators;
|
|
|
|
|
private agHelper = ObjectsRegistry.AggregateHelper;
|
|
|
|
|
|
2022-06-10 13:30:59 +00:00
|
|
|
_jsonFormFieldByName = (fieldName: string, input: boolean = true) =>
|
2022-05-31 05:33:59 +00:00
|
|
|
`//p[text()='${fieldName}']/ancestor::div[@direction='column']//div[@data-testid='input-container']//${
|
|
|
|
|
input ? "input" : "textarea"
|
|
|
|
|
}`;
|
|
|
|
|
_jsonFormRadioFieldByName = (fieldName: string) =>
|
|
|
|
|
`//p[text()='${fieldName}']/ancestor::div[@direction='column']//div[@data-testid='radiogroup-container']//input`;
|
2022-06-10 13:30:59 +00:00
|
|
|
_jsonFormDatepickerFieldByName = (fieldName: string) =>
|
|
|
|
|
`//p[text()='${fieldName}']/ancestor::div[@direction='column']//div[@data-testid='datepicker-container']//input`;
|
|
|
|
|
_jsonSelectDropdown = "button.select-button";
|
|
|
|
|
_clearDropdown = "button.select-button span.cancel-icon"
|
2022-05-31 05:33:59 +00:00
|
|
|
|
|
|
|
|
//refering PublishtheApp from command.js
|
|
|
|
|
public DeployApp(
|
2022-06-10 13:30:59 +00:00
|
|
|
eleToCheckInDeployPage: string = this.locator._backToEditor, toCheckFailureToast= true
|
2022-05-31 05:33:59 +00:00
|
|
|
) {
|
|
|
|
|
//cy.intercept("POST", "/api/v1/applications/publish/*").as("publishAppli");
|
|
|
|
|
// Wait before publish
|
|
|
|
|
this.agHelper.Sleep(2000); //wait for elements settle!
|
|
|
|
|
this.agHelper.AssertAutoSave();
|
|
|
|
|
// Stubbing window.open to open in the same tab
|
|
|
|
|
cy.window().then((window) => {
|
|
|
|
|
cy.stub(window, "open").callsFake((url) => {
|
|
|
|
|
window.location.href = Cypress.config().baseUrl + url.substring(1);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
cy.get(this.locator._publishButton).click();
|
|
|
|
|
cy.log("Pagename: " + localStorage.getItem("PageName"));
|
|
|
|
|
|
|
|
|
|
//Below url check throwing error - hence commenting!
|
|
|
|
|
// cy.wait("@publishApp")
|
|
|
|
|
// .its("request.url")
|
|
|
|
|
// .should("not.contain", "edit");
|
|
|
|
|
//cy.wait('@publishApp').wait('@publishApp') //waitng for 2 calls to complete
|
|
|
|
|
|
|
|
|
|
this.agHelper.WaitUntilEleAppear(eleToCheckInDeployPage);
|
|
|
|
|
localStorage.setItem("inDeployedMode", "true");
|
2022-06-10 13:30:59 +00:00
|
|
|
toCheckFailureToast && this.agHelper.AssertElementAbsence(this.locator._toastMsg);//Validating bug - 14141
|
|
|
|
|
this.agHelper.Sleep(2000); //for Depoy page to settle!
|
2022-05-31 05:33:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Stubbing window.open to open in the same tab
|
|
|
|
|
public StubbingWindow() {
|
|
|
|
|
cy.window().then((window: any) => {
|
|
|
|
|
cy.stub(window, "open").callsFake((url) => {
|
|
|
|
|
window.location.href = url;
|
|
|
|
|
window.location.target = "_self";
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-16 06:50:02 +00:00
|
|
|
public NavigateBacktoEditor() {
|
|
|
|
|
cy.get(this.locator._backToEditor).click();
|
|
|
|
|
this.agHelper.Sleep(2000);
|
|
|
|
|
localStorage.setItem("inDeployedMode", "false");
|
|
|
|
|
}
|
|
|
|
|
|
2022-06-10 13:30:59 +00:00
|
|
|
public EnterJSONInputValue(fieldName: string, value: string, index = 0) {
|
|
|
|
|
cy.xpath(this._jsonFormFieldByName(fieldName))
|
2022-05-31 05:33:59 +00:00
|
|
|
.eq(index)
|
|
|
|
|
.click()
|
|
|
|
|
.type(value)
|
|
|
|
|
.wait(500);
|
|
|
|
|
}
|
2022-06-10 13:30:59 +00:00
|
|
|
|
|
|
|
|
public EnterJSONTextAreaValue(fieldName: string, value: string, index = 0) {
|
|
|
|
|
cy.xpath(this._jsonFormFieldByName(fieldName, false))
|
|
|
|
|
.eq(index)
|
|
|
|
|
.click()
|
|
|
|
|
.type(value)
|
|
|
|
|
.wait(500);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ClearJSONFieldValue(fieldName: string, index = 0, isInput = true) {
|
|
|
|
|
cy.xpath(this._jsonFormFieldByName(fieldName, isInput))
|
|
|
|
|
.eq(index)
|
|
|
|
|
.clear()
|
|
|
|
|
.wait(500);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public SelectJsonFormDropDown(ddOption: string, index = 0) {
|
|
|
|
|
cy.get(this._jsonSelectDropdown)
|
|
|
|
|
.eq(index)
|
|
|
|
|
.scrollIntoView()
|
|
|
|
|
.click();
|
|
|
|
|
cy.get(this.locator._selectOptionValue(ddOption)).click({ force: true });
|
|
|
|
|
this.agHelper.Sleep(); //for selected value to reflect!
|
|
|
|
|
}
|
2022-05-31 05:33:59 +00:00
|
|
|
}
|