Skip to content

Commit 7c85f3e

Browse files
authored
Merge pull request #144 from kstekovi/EAPQE-5257
Improve editForm to wait for data
2 parents 1f07134 + 35c5e9c commit 7c85f3e

5 files changed

Lines changed: 11 additions & 7 deletions

packages/testsuite/cypress/e2e/ejb/test-configuration-subsystem-ejb-services-identity.cy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ describe("TESTS: Configuration => Subsystem => EJB => Services => Identity", ()
3636
cy.navigateTo(managementEndpoint, "ejb3-configuration");
3737
cy.get("#ejb3-service-item").click();
3838
cy.get("#ejb3-service-identity-item").click();
39-
cy.editForm(configurationFormId);
39+
cy.editForm(configurationFormId, { waitForData: false });
4040
cy.formInput(configurationFormId, "outflow-security-domains")
4141
.clear()
4242
.type(`${securityDomainToUpdate}{enter}`)

packages/testsuite/cypress/e2e/ejb/test-configuration-subsystem-ejb-state-management-cache.cy.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ describe("TESTS: Configuration => Subsystem => EJB => State Management => Cache"
100100
cy.get("#ejb3-state-item").click();
101101
cy.get("#ejb3-cache-item").click();
102102
cy.selectInTable(cacheTableId, caches.update.name);
103-
cy.editForm(configurationFormId);
103+
cy.editForm(configurationFormId, { waitForData: false });
104104
cy.formInput(configurationFormId, "aliases").clear().type("another-alias{enter}").trigger("change");
105105
cy.saveForm(configurationFormId);
106106
cy.verifySuccess();
@@ -112,7 +112,7 @@ describe("TESTS: Configuration => Subsystem => EJB => State Management => Cache"
112112
cy.get("#ejb3-state-item").click();
113113
cy.get("#ejb3-cache-item").click();
114114
cy.selectInTable(cacheTableId, caches.update.name);
115-
cy.editForm(configurationFormId);
115+
cy.editForm(configurationFormId, { waitForData: false });
116116
cy.text(configurationFormId, "passivation-store", passivations.update.name);
117117
cy.saveForm(configurationFormId);
118118
cy.verifySuccess();

packages/testsuite/cypress/e2e/elytron/test-configuration-subsystem-elytron-provider-http-server-mechanism-factory.cy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ describe("TESTS: Configuration => Subsystem => Security => Settings => Factories
7979
cy.get("#http-factories-item").click();
8080
cy.get("#elytron-provider-http-server-mechanism-factory-item").click();
8181
cy.selectInTable(providerHttpServerMechanismFactoryTableId, providerHttpServiceMechanismFactories.update.name);
82-
cy.editForm(configurationFormId);
82+
cy.editForm(configurationFormId, { waitForData: false });
8383
cy.text(configurationFormId, "providers", "pl-to-update");
8484
cy.saveForm(configurationFormId);
8585
cy.verifySuccess();

packages/testsuite/cypress/e2e/elytron/test-configuration-subsystem-elytron-service-loader-http-server-mechanism-factory.cy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ describe("TESTS: Configuration => Subsystem => Security => Settings => Factories
9595
serviceLoaderHttpServerMechanismFactoryTableId,
9696
serviceLoaderHttpServiceMechanismFactories.update.name,
9797
);
98-
cy.editForm(configurationFormId);
98+
cy.editForm(configurationFormId, { waitForData: false });
9999
cy.text(configurationFormId, "module", "sample");
100100
cy.saveForm(configurationFormId);
101101
cy.verifySuccess();

packages/testsuite/cypress/support/form-editing.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
Cypress.Commands.add("editForm", (formId) => {
1+
Cypress.Commands.add("editForm", (formId, { waitForData = true } = {}) => {
22
const editButton = "#" + formId + ' a.clickable[data-operation="edit"]';
3+
if (waitForData) {
4+
// Wait for form data to load: find readonly spans without "empty" CSS class and with actual text content
5+
cy.get(`#${formId}-readonly`).find("span[id$='-readonly']:not(.empty):not(:empty)").should("exist");
6+
}
37
cy.get(`#${formId}-editing`).should("not.be.visible");
48
cy.get(editButton).click();
59
// Workaround - JBEAP-25005,JBEAP-25046 - the form is sometimes not loaded in time and Cypress is not able to recover
@@ -189,7 +193,7 @@ declare global {
189193
*
190194
* @param formId - The ID of section which need to be edit.
191195
*/
192-
editForm(formId: string): Chainable<void>;
196+
editForm(formId: string, options?: { waitForData?: boolean }): Chainable<void>;
193197
/**
194198
* Click on "Save" button to save current data in form.
195199
* @category Form Editing

0 commit comments

Comments
 (0)