Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFR] Update open() for a few classes #1217

Merged
merged 9 commits into from
Sep 13, 2024
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,21 @@ import * as commonView from "../../../views/common.view";
export class AssessmentQuestionnaire {
public static fullUrl = Cypress.env("tackleUrl") + "/assessment";

public static open() {
public static open(forceReload = false) {
const itemsPerPage = 100;
if (forceReload) {
cy.visit(AssessmentQuestionnaire.fullUrl, { timeout: 35 * SEC }).then((_) => {
selectItemsPerPage(itemsPerPage);
});
return;
}
cy.url().then(($url) => {
if ($url != AssessmentQuestionnaire.fullUrl) {
selectUserPerspective("Administration");
clickByText(navMenu, assessmentQuestionnaires);
}
});
selectItemsPerPage(itemsPerPage);
}

public static operation(fileName: string, operation: string) {
Expand Down Expand Up @@ -112,7 +120,7 @@ export class AssessmentQuestionnaire {
if (rowName == legacyPathfinder) {
continue;
}
cy.wrap($rows.eq(i).find(actionButton)).click();
cy.wrap($rows.eq(i).find(actionButton)).click({ force: true });
cy.get("li.pf-v5-c-menu__list-item")
.contains("Delete")
.then(($delete_btn) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,12 @@ export class Application {
public static open(forceReload = false): void {
const itemsPerPage = 100;
if (forceReload) {
cy.visit(Application.fullUrl, { timeout: 35 * SEC }).then((_) =>
selectItemsPerPage(itemsPerPage)
);
cy.visit(Application.fullUrl, { timeout: 35 * SEC }).then((_) => {
// Bug MTA-3812 Application Inventory page takes long to load
// Timeout time of 100s to be reduced after above bug is fixed
cy.get("h1", { timeout: 100 * SEC }).should("contain", applicationInventory);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a timeout of 100 secods is too much.

I think if a page takes more than 35 secs (the current timeout we have for other tests) to load the test should fail because something is wrong there

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, 100 seconds is too long for a page to load. I have reported a bug for that .

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need to reduce the time and let this test fail .
It will impact overall time of execution.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lot of tests are using application page , let's reduce it to 5 Sec

selectItemsPerPage(itemsPerPage);
});
return;
}

Expand Down
14 changes: 11 additions & 3 deletions cypress/e2e/models/migration/controls/stakeholders.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export class Stakeholders {
email: string;
jobfunction: string;
groups: Array<string>;
static fullUrl = Cypress.env("tackleUrl") + "controls/stakeholders";
static fullUrl = Cypress.env("tackleUrl") + "/controls/stakeholders";

constructor(email: string, name: string, jobfunction?: string, groups?: Array<string>) {
this.email = email;
Expand All @@ -59,7 +59,15 @@ export class Stakeholders {
if (groups) this.groups = groups;
}

public static openList(itemsPerPage = 100): void {
public static openList(forceReload = false): void {
if (forceReload) {
cy.visit(Stakeholders.fullUrl, { timeout: 35 * SEC }).then((_) => {
cy.get("h1", { timeout: 60 * SEC }).should("contain", "Controls");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here , let's reduce the time to 15 sec max

selectItemsPerPage(100);
});
return;
}

cy.url().then(($url) => {
if ($url != Stakeholders.fullUrl) {
selectUserPerspective(migration);
Expand All @@ -69,7 +77,7 @@ export class Stakeholders {
}
});
cy.get("h1", { timeout: 30 * SEC }).should("contain.text", "Controls");
selectItemsPerPage(itemsPerPage);
selectItemsPerPage(100);
}

protected fillName(name: string): void {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,9 @@ describe(["@tier3"], "Tests for application questionnaire features", () => {
after("Perform test data clean up", function () {
Application.open(true);
application.delete();
Stakeholders.openList(true);
deleteByList(stakeholderList);
AssessmentQuestionnaire.open(true);
AssessmentQuestionnaire.deleteAllQuestionnaires();
});
});
2 changes: 1 addition & 1 deletion cypress/utils/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1374,7 +1374,7 @@ export function goToPage(page: number): void {

export function selectUserPerspective(userType: string): void {
cy.get(commonView.optionMenu).click();
cy.get(commonView.actionMenuItem).contains(userType).click();
cy.get(commonView.actionMenuItem).contains(userType).click({ force: true });
}

export function selectWithinModal(selector: string): void {
Expand Down
Loading