Skip to content

Commit

Permalink
[ci] Optimize client tests
Browse files Browse the repository at this point in the history
  • Loading branch information
msmannan00 authored and evilaliv3 committed Oct 15, 2024
1 parent 692965e commit f2d6ba7
Show file tree
Hide file tree
Showing 17 changed files with 58 additions and 108 deletions.
3 changes: 1 addition & 2 deletions client/cypress/e2e/02-test-admin-perform-wizard.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,8 @@ describe("globaLeaks setup wizard", () => {

cy.get(".ButtonNext").click();

cy.waitForLoader();
cy.takeScreenshot("wizard/6");
cy.get('button[name="proceed"]').should('be.visible', { timeout: 10000 }).click();
cy.get('button[name="proceed"]').should('be.visible').click();
cy.waitForUrl("admin/home")
cy.logout();
});
Expand Down
28 changes: 10 additions & 18 deletions client/cypress/e2e/06-test-admin-configure-advanced.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ describe("admin configure advanced settings", () => {
it("should perform main configuration", () => {
cy.login_admin();
cy.visit("/#/admin/settings");
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();
cy.get('input[name="node.dataModel.allow_indexing"]').click();
cy.get("#save").click();
});
Expand All @@ -12,12 +12,12 @@ describe("admin disable submissions", () => {
it("should disable submission", () => {
cy.login_admin();
cy.visit("/#/admin/settings");
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();

cy.get('input[name="disable_submissions"]').click();
cy.get("#save").click();

cy.get('[data-cy="advanced"]').click().should('be.visible', { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should('be.visible').click();

cy.get('input[name="disable_submissions"]').should("be.visible").should("be.checked");
cy.logout();
Expand All @@ -33,12 +33,11 @@ describe("admin enable submissions", () => {
cy.login_admin();
cy.waitForUrl("/#/admin/home")
cy.visit("/#/admin/settings")
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();

cy.get('input[name="disable_submissions"]').click();
cy.get("#save").click();
cy.waitForLoader()
cy.get('[data-cy="advanced"]').click().should('be.visible', { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should('be.visible').click();

cy.get('input[name="disable_submissions"]').should("be.visible").should("not.be.checked");
cy.logout();
Expand All @@ -54,12 +53,12 @@ describe("Should browser opens a pop while clicking the support icon", () => {
cy.login_admin();
cy.waitForUrl("/#/admin/home");
cy.visit("/#/admin/settings");
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();

cy.get('input[name="customSupportURL"]').clear();

cy.get("#save").click();
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();

cy.get('input[name="customSupportURL"]')
.invoke("val")
Expand All @@ -83,16 +82,15 @@ describe("Validating custom support url", () => {
it("Enter custom support url and browser", () => {
cy.login_admin();
cy.visit("/#/admin/settings");
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();

cy.get('input[name="customSupportURL"]').clear();
cy.get('input[name="customSupportURL"]').type(
"https://www.globaleaks.org/"
);

cy.get("#save").click();
cy.waitForLoader();
cy.get('[data-cy="advanced"]').click().should('be.visible', { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should('be.visible').click();

cy.get('input[name="customSupportURL"]')
.invoke("val")
Expand All @@ -105,7 +103,7 @@ describe("admin enable scoring system", () => {
it("should enable scoring system", () => {
cy.login_admin();
cy.visit("/#/admin/settings");
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();
cy.get('#scoring_system').click();
cy.get("#save").click();
cy.logout();
Expand All @@ -114,20 +112,14 @@ describe("admin enable scoring system", () => {

describe("admin add and remove disclaimer", function () {
it("should add disclaimer", function () {
cy.visit("/#/");
cy.login_admin();
cy.waitForUrl("/#/admin/home")
cy.visit("/#/admin/settings");
cy.get('textarea[name="nodeResolver.dataModel.disclaimer_text"]').type("disclaimer_text");
cy.get("#save_settings").click();
cy.visit("#/");
cy.get("#WhistleblowingButton").click();
cy.get('#modal-action-ok').click();
});
it("should remove disclaimer", function () {
cy.visit("/#/");
cy.login_admin();
cy.waitForUrl("/#/admin/home")
cy.visit("/#/admin/settings");
cy.get('textarea[name="nodeResolver.dataModel.disclaimer_text"]').clear();
cy.get("#save_settings").click();
Expand Down
2 changes: 1 addition & 1 deletion client/cypress/e2e/07-test-admin-configure-users.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ describe("admin add, configure, and delete users", () => {
for (let i = 1; i < numberOfUsers; i++) {
cy.get(".userList").eq(i).within(() => {
if (Cypress.$("#edit_user").length > 0) {
cy.get("#edit_user").should('be.visible', { timeout: 10000 }).click();
cy.get("#edit_user").should('be.visible').click();
cy.get("#set_password").first().click();
cy.get('input[name="password"]').clear().type(Cypress.env("init_password"));
cy.get('#setPasswordButton').should('be.visible').click();
Expand Down
7 changes: 3 additions & 4 deletions client/cypress/e2e/08-test-users-first-login.cy.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
describe("Recipient first login", () => {
it("should require password change upon successful authentication", () => {
cy.wait(2000)
cy.login_receiver("Recipient", Cypress.env("init_password"), "#/login", true);
cy.takeScreenshot("user/password");
cy.get('input[name="changePasswordArgs.password"]').should('be.visible', { timeout: 10000 }).clear().type(Cypress.env("user_password"));
cy.get('input[name="changePasswordArgs.password"]').should('be.visible').clear().type(Cypress.env("user_password"));
cy.get('input[name="changePasswordArgs.confirm"]').type(Cypress.env("user_password"));
cy.get('button[name="submit"]').click();
cy.waitForUrl("/recipient/home");
Expand Down Expand Up @@ -51,7 +50,7 @@ describe("Recipient2 first login", () => {
describe("Custodian first login", () => {
it("should require password change upon successful authentication", () => {
cy.login_custodian("Custodian", Cypress.env("init_password"), "#/login", true);
cy.get('[name="changePasswordArgs.password"]').should('be.visible', { timeout: 10000 }).type(Cypress.env("user_password"));
cy.get('[name="changePasswordArgs.password"]').should('be.visible').type(Cypress.env("user_password"));
cy.get('[name="changePasswordArgs.confirm"]').type(Cypress.env("user_password"));
cy.get('button[name="submit"]').click();
cy.url().should("include", "/custodian/home");
Expand All @@ -73,7 +72,7 @@ describe("Admin2 first login", () => {
describe("Analyst first login", () => {
it("should require password change upon successful authentication", () => {
cy.login_analyst("Analyst", Cypress.env("init_password"), "#/login", true);
cy.get('[name="changePasswordArgs.password"]').should('be.visible', { timeout: 10000 }).type(Cypress.env("user_password"));
cy.get('[name="changePasswordArgs.password"]').should('be.visible').type(Cypress.env("user_password"));
cy.get('[name="changePasswordArgs.confirm"]').type(Cypress.env("user_password"));
cy.get('button[name="submit"]').click();
cy.url().should("include", "/analyst/home");
Expand Down
4 changes: 2 additions & 2 deletions client/cypress/e2e/09-test-simple-login.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ describe("configure simple login", () => {
cy.login_admin();
cy.waitForUrl("/#/admin/home");
cy.visit("/#/admin/settings");
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();
cy.get('input[name="node.dataModel.simplified_login"]').click();
cy.get("#save").click();
cy.logout();
Expand All @@ -14,7 +14,7 @@ describe("configure simple login", () => {
cy.simple_login_admin();

cy.get("#admin_settings").click();
cy.get('[data-cy="advanced"]').click().should("be.visible", { timeout: 10000 }).click();
cy.get('[data-cy="advanced"]').click().should("be.visible").click();
cy.get('input[name="node.dataModel.simplified_login"]').click();
cy.get("#save").click();
cy.logout();
Expand Down
2 changes: 1 addition & 1 deletion client/cypress/e2e/11-test-admin-configure-languages.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ describe("admin configure languages", () => {
cy.get("#save_language").click();

cy.waitForUrl("/#/admin/settings");
cy.get('#LanguagePickerBox').should('be.visible', { timeout: 10000 }).find('ng-select').last().click().get('ng-dropdown-panel').contains('Italiano').click();
cy.get('#LanguagePickerBox').should('be.visible').find('ng-select').last().click().get('ng-dropdown-panel').contains('Italiano').click();
cy.get('[name="node.dataModel.header_title_homepage"]').clear().type("TEXT1_IT");
cy.get('[name="node.dataModel.presentation"]').clear().type("TEXT2_IT");
cy.get('button.btn.btn-primary').eq(0).get("#save_settings").click();
Expand Down
4 changes: 2 additions & 2 deletions client/cypress/e2e/12-test-admin-configure-files.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ describe("Admin configure custom CSS", () => {
});
});

cy.get("#project_name", { timeout: 10000 }).should("be.visible");
cy.get("#project_name").should("be.visible");
});

it("should upload a file and make it available for download and deletion", () => {
Expand Down Expand Up @@ -71,7 +71,7 @@ describe("Admin configure custom CSS", () => {
});
});

cy.get("#project_name", { timeout: 10000 }).should("be.visible");
cy.get("#project_name").should("be.visible");

cy.get('[data-cy="files"]').click();
cy.get('table#fileList').find('td#file_name').should('contain', 'test.txt').should('be.visible');
Expand Down
6 changes: 3 additions & 3 deletions client/cypress/e2e/13-test-admin-configure-custom-texts.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ describe("admin configure custom texts", () => {
cy.visit("/#/admin/settings");
cy.get('[data-cy="text_customization"]').click();

cy.get(".deleteCustomTextButton",{ timeout: 10000 }).click();
cy.get(".deleteCustomTextButton",{ timeout: 10000 }).click();
cy.get(".deleteCustomTextButton").click();
cy.get(".deleteCustomTextButton").click();

cy.logout();

Expand All @@ -58,6 +58,6 @@ describe("admin enable submissions", () => {
cy.waitForUrl("/#/login");

cy.visit("/#/");
cy.get("#WhistleblowingButton").should("be.visible", { timeout: 10000 });
cy.get("#WhistleblowingButton").should("be.visible");
});
});
12 changes: 6 additions & 6 deletions client/cypress/e2e/15-test-admin-configure-network.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ describe("admin configure network", () => {
});

it("should be able to configure https", () => {
cy.get('[data-cy="https"]').should('be.visible', { timeout: 10000 }).click();
cy.get('[data-cy="https"]').should('be.visible').click();

cy.get('[name="hostname"]').clear().type("127.0.0.1");
cy.get('#save_hostname').click();

cy.get("#HTTPSManualMode", { timeout: 10000 }).click();
cy.get("#pkGen").should('be.visible', { timeout: 10000 }).click();
cy.get("#HTTPSManualMode").click();
cy.get("#pkGen").should('be.visible').click();
cy.get("#csrGen").click();
cy.get('[name="country"]').type("IT");
cy.get('[name="province"]').type("Milano");
Expand All @@ -21,9 +21,9 @@ describe("admin configure network", () => {
cy.get("#csrSubmit").click();

cy.get("#deleteKey").click();
cy.get("#modal-action-ok").should('be.visible', { timeout: 10000 }).click();
cy.get("#modal-action-ok").should('be.visible').click();
cy.get("#deleteKey").should("not.exist");
cy.get("#HTTPSManualMode").should('be.visible', { timeout: 10000 }).click();
cy.get("#HTTPSManualMode").should('be.visible').click();

cy.get("div.card.key input[type=file]").selectFile({
contents: "../backend/globaleaks/tests/data/https/valid/key.pem",
Expand All @@ -48,7 +48,7 @@ describe("admin configure network", () => {
cy.get("#deleteCert").click();
cy.get("#modal-action-ok").click();

cy.get("#deleteKey").should('be.visible', { timeout: 10000 }).click();
cy.get("#deleteKey").should('be.visible').click();
cy.get("#modal-action-ok").click();
cy.logout();
});
Expand Down
2 changes: 1 addition & 1 deletion client/cypress/e2e/16-test-admin-contexts.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ describe("admin configure, add, and delete channels", () => {
cy.get(".show-add-context-btn").click();
cy.get("[name='new_context.name']").type(context_name);
cy.get("#add-btn").click();
cy.contains(context_name, { timeout: 10000 }).should("be.visible");
cy.contains(context_name).should("be.visible");
};

add_context("Topic A");
Expand Down
12 changes: 6 additions & 6 deletions client/cypress/e2e/17-test-admin-questionnaires.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ describe("admin add, configure and delete questionnaires", () => {
cy.get("#add-field-btn").first().click();

if (["Checkbox", "Selection box"].indexOf(question_type) === 0) {
cy.wait(1500)
cy.get('.fieldBox').should('be.visible', { timeout: 10000 }).contains('span', question_type).click();
cy.get('.fieldBox').should('be.visible');
cy.contains('span', question_type).as('questionType').should('be.visible');
cy.get('@questionType').click();

for (let i = 0; i < 3; i++) {
cy.get('button[name="addOption"]').click();
Expand Down Expand Up @@ -69,22 +70,22 @@ describe("admin add, configure and delete questionnaires", () => {
cy.contains("Step 2").should('be.visible').click();

fieldTypes.forEach((questionType: string, index: number) => {
cy.waitForLoader();
add_question(questionType, index);
});

cy.contains("Step 2").should('exist').click();
cy.contains("Step 2").click();

cy.get('button[name="delStep"]').eq(2).click();
cy.get("#modal-action-ok").click();

cy.contains("Questionnaire 1").should('exist').click();
cy.contains("Questionnaire 1").click();

cy.get('button[name="deleteQuestionnaire"]').each(($button) => {
cy.wrap($button).click();
cy.get("#modal-action-ok").click();
});


cy.get('[data-cy="question_templates"]').click();

fieldTypes.forEach((questionType: string, index: number) => {
Expand All @@ -93,7 +94,6 @@ describe("admin add, configure and delete questionnaires", () => {

cy.logout();
});

it("should import custom questionnaire file", () => {
cy.login_admin();

Expand Down
28 changes: 8 additions & 20 deletions client/cypress/e2e/18-test-globaleaks-process.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ describe("globaleaks process", function () {
const comment = "comment";
cy.get("[name='newCommentContent']").type(comment);
cy.get("#comment-action-send").click();
cy.waitForLoader();
cy.get('#comment-0').should('contain', comment);
cy.visit("/#/recipient/reports");
cy.takeScreenshot("recipient/reports");
Expand Down Expand Up @@ -100,7 +99,6 @@ describe("globaleaks process", function () {
cy.get(".TipInfoID").first().invoke("text").then(t => {
expect(t.trim()).to.be.a("string");
});
cy.waitForLoader();
cy.get('[id="tip-action-silence"]').should('be.visible').click();
cy.get('#tip-action-notify').should('be.visible').click();
cy.get('#tip-action-silence').should('be.visible').should('be.visible');
Expand Down Expand Up @@ -205,33 +203,23 @@ describe("globaleaks process", function () {
it("should mask reported data", function () {
cy.login_receiver();
cy.visit("/#/recipient/reports");

cy.get("#tip-0").first().should('be.visible').click();
cy.wait(1000);
cy.get("#tip-0").first().click();
cy.get('[id="tip-action-mask"]').should('be.visible').click();
cy.wait(1000);
cy.get("#edit-question").should('be.visible').first().click();

cy.get('textarea[name="controlElement"]').should('be.visible').then((textarea) => {
const val = Cypress.$(textarea).val();
cy.wrap(textarea).clear().type(String(val));
cy.get('textarea[name="controlElement"]').should('be.visible').then((textarea: any) => {
const val = textarea.val();
cy.get('textarea[name="controlElement"]').should('be.visible').clear().type(val);
cy.get("#select_content").click();
});

cy.wait(1000);
cy.get("#save_masking").click();
cy.wait(1000);

cy.get('[id="tip-action-mask"]').should('exist').should('be.visible').click();
cy.get('[id="tip-action-mask"]').should('be.visible').click();
cy.get("#edit-question").should('be.visible').first().click();

cy.get('textarea[name="controlElement"]').should('be.visible').then((textarea) => {
const val = Cypress.$(textarea).val();
cy.wrap(textarea).clear().type(String(val));
cy.get('textarea[name="controlElement"]').should('be.visible').then((textarea: any) => {
const val = textarea.val();
cy.get('textarea[name="controlElement"]').should('be.visible').clear().type(val);
cy.get("#unselect_content").click();
});

cy.wait(1000);
cy.get("#save_masking").click();
cy.logout();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ describe("Acquire screenshots necessary for user documentation - Recipient Secti
cy.takeScreenshot("recipient/settings");
cy.visit("/#/recipient/reports");
cy.get("#tip-0").first().click();
cy.get('[id="tip-action-mask"]').should('be.visible', { timeout: 10000 }).click();
cy.get('[id="tip-action-mask"]').should('be.visible').click();
cy.get("#edit-question").should('be.visible').first().click();
cy.takeScreenshot("recipient/masking-popup", ".modal");
cy.get("#close-redact-modal").should('be.visible').first().click();
Expand Down
2 changes: 1 addition & 1 deletion client/cypress/e2e/21-test-signup.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ describe("User Perform Signup", function() {
cy.get('input[name="mail_address"]').type("test@example.net");
cy.get('input[name="email"]').type("test@example.net");
cy.get(".ButtonNext").click();
cy.get(".title", { timeout: 10000 }).should("be.visible");
cy.get(".title").should("be.visible");
});
});

Expand Down
Loading

0 comments on commit f2d6ba7

Please sign in to comment.