From 123ee2562615573092a4c5b21d719dd04ac06f14 Mon Sep 17 00:00:00 2001 From: mfrances Date: Mon, 1 Mar 2021 16:56:26 -0500 Subject: [PATCH] refactor tests first pass --- .../integration/user_fed_ldap_test.spec.ts | 99 ++++--------------- .../providers/CreateLdapProviderPage.ts | 15 ++- 2 files changed, 31 insertions(+), 83 deletions(-) diff --git a/cypress/integration/user_fed_ldap_test.spec.ts b/cypress/integration/user_fed_ldap_test.spec.ts index a9bdf42401..265215475d 100644 --- a/cypress/integration/user_fed_ldap_test.spec.ts +++ b/cypress/integration/user_fed_ldap_test.spec.ts @@ -53,22 +53,24 @@ const deleteModalTitle = "Delete user federation provider?"; const disableModalTitle = "Disable user federation provider?"; describe("User Fed LDAP tests", () => { - it("Create Ldap provider from empty state", () => { + beforeEach(() => { cy.visit(""); + cy.wait(1000); loginPage.logIn(); + cy.wait(1000); sidebarPage.goToUserFederation(); + cy.wait(1000); + }); + it("Create Ldap provider from empty state", () => { cy.get("[data-testid=ldap-card]").click(); - providersPage.fillLdapRequiredGeneralData( - firstLdapName, - firstLdapVendor, - ); + providersPage.fillLdapRequiredGeneralData(firstLdapName, firstLdapVendor); providersPage.fillLdapRequiredConnectionData( connectionUrl, firstBindType, firstBindDn, - firstBindCreds, + firstBindCreds ); providersPage.fillLdapRequiredSearchingData( firstUsersDn, @@ -85,14 +87,8 @@ describe("User Fed LDAP tests", () => { }); it("Update an existing LDAP provider and save", () => { - cy.visit(""); - loginPage.logIn(); - sidebarPage.goToUserFederation(); + providersPage.clickProviderCard(firstLdapName); - cy.get('[data-testid="keycloak-card-title"]') - .contains(firstLdapName) - .click(); - cy.wait(1000); providersPage.selectCacheType(newPolicy); cy.contains(defaultLdapDay).click(); @@ -110,25 +106,14 @@ describe("User Fed LDAP tests", () => { sidebarPage.goToUserFederation(); cy.wait(1000); - cy.get('[data-testid="keycloak-card-title"]') - .contains(firstLdapName) - .click(); - cy.wait(1000); + providersPage.clickProviderCard(firstLdapName); expect(cy.contains(newPolicy).should("exist")); expect(cy.contains(defaultPolicy).should("not.exist")); }); it("Change existing LDAP provider and click button to cancel", () => { - cy.visit(""); - loginPage.logIn(); - sidebarPage.goToUserFederation(); - - cy.wait(1000); - cy.get('[data-testid="keycloak-card-title"]') - .contains(firstLdapName) - .click(); - cy.wait(1000); + providersPage.clickProviderCard(firstLdapName); providersPage.selectCacheType(newPolicy); cy.contains(newLdapDay).click(); @@ -141,32 +126,21 @@ describe("User Fed LDAP tests", () => { cy.contains(defaultLdapMinute).click(); providersPage.cancel(); + cy.wait(1000); - cy.wait(1000); - cy.get('[data-testid="keycloak-card-title"]') - .contains(firstLdapName) - .click(); - cy.wait(1000); + providersPage.clickProviderCard(firstLdapName); providersPage.selectCacheType(newPolicy); expect(cy.contains(newLdapDay).should("exist")); expect(cy.contains(newLdapHour).should("exist")); expect(cy.contains(newLdapMinute).should("exist")); - expect(cy.contains(defaultLdapMinute).should("not.exist")); sidebarPage.goToUserFederation(); }); it("Disable an existing LDAP provider", () => { - cy.visit(""); - loginPage.logIn(); - sidebarPage.goToUserFederation(); - - cy.get('[data-testid="keycloak-card-title"]') - .contains(firstLdapName) - .click(); - cy.wait(1000); + providersPage.clickProviderCard(firstLdapName); providersPage.disableEnabledSwitch(); @@ -184,48 +158,29 @@ describe("User Fed LDAP tests", () => { }); it("Enable an existing previously-disabled LDAP provider", () => { - cy.visit(""); - loginPage.logIn(); - sidebarPage.goToUserFederation(); - - cy.wait(1000); - - cy.get('[data-testid="keycloak-card-title"]') - .contains(firstLdapName) - .click(); - cy.wait(1000); + providersPage.clickProviderCard(firstLdapName); providersPage.enableEnabledSwitch(); + masthead.checkNotificationMessage(savedSuccessMessage); sidebarPage.goToUserFederation(); - cy.wait(1000); + expect(cy.contains("Enabled").should("exist")); }); it("Create new LDAP provider using the New Provider dropdown", () => { - cy.visit(""); - loginPage.logIn(); - sidebarPage.goToUserFederation(); - // cy get contains - cy.contains("button", "Add new provider", ).click(); + cy.contains("button", "Add new provider").click(); cy.contains("li", "LDAP").click(); - - // cy.contains("Add new provider").click(); - // cy.contains("LDAP").click(); - - providersPage.fillLdapRequiredGeneralData( - secondLdapName, - secondLdapVendor, - ); + providersPage.fillLdapRequiredGeneralData(secondLdapName, secondLdapVendor); providersPage.fillLdapRequiredConnectionData( connectionUrl, secondBindType, secondBindDn, - secondBindCreds, + secondBindCreds ); providersPage.fillLdapRequiredSearchingData( secondUsersDn, @@ -242,11 +197,6 @@ describe("User Fed LDAP tests", () => { }); it("Delete an LDAP provider from card view using the card's menu", () => { - - cy.visit(""); - loginPage.logIn(); - sidebarPage.goToUserFederation(); - cy.get('[data-testid="my-ldap-2-dropdown"]').click(); cy.get('[data-testid="card-delete"]').click(); @@ -256,14 +206,7 @@ describe("User Fed LDAP tests", () => { }); it("Delete an LDAP provider using the Settings view's Action menu", () => { - cy.visit(""); - loginPage.logIn(); - sidebarPage.goToUserFederation(); - - cy.get('[data-testid="keycloak-card-title"]') - .contains(firstLdapName) - .click(); - cy.wait(1000); + providersPage.clickProviderCard(firstLdapName); cy.get('[data-testid="action-dropdown"]').click(); cy.get('[data-testid="delete-ldap-cmd"]').click(); diff --git a/cypress/support/pages/admin_console/manage/providers/CreateLdapProviderPage.ts b/cypress/support/pages/admin_console/manage/providers/CreateLdapProviderPage.ts index 4bc3166a91..3cf2bc3c26 100644 --- a/cypress/support/pages/admin_console/manage/providers/CreateLdapProviderPage.ts +++ b/cypress/support/pages/admin_console/manage/providers/CreateLdapProviderPage.ts @@ -68,10 +68,7 @@ export default class CreateLdapProviderPage { } // Required fields - these always must be filled out when testing a save, everything else can feasibly be left blank (TEST THIS) - fillLdapRequiredGeneralData( - name: string, - vendor: string, - ) { + fillLdapRequiredGeneralData(name: string, vendor: string) { if (name) { cy.get(`[${this.ldapNameInput}]`).type(name); } @@ -86,7 +83,7 @@ export default class CreateLdapProviderPage { connectionUrl: string, bindType: string, bindDn: string, - bindCreds: string, + bindCreds: string ) { if (connectionUrl) { cy.get(`[${this.ldapConnectionUrlInput}]`).type(connectionUrl); @@ -135,12 +132,20 @@ export default class CreateLdapProviderPage { return this; } + clickProviderCard(cardName) { + cy.get('[data-testid="keycloak-card-title"]').contains(cardName).click(); + cy.wait(1000); + return this; + } + disableEnabledSwitch() { cy.get(this.ldapEnabledInput).uncheck({ force: true }); + return this; } enableEnabledSwitch() { cy.get(this.ldapEnabledInput).check({ force: true }); + return this; } save() {