keycloak-scim/tests/cypress/integration/client_scopes_test.spec.js
Stan Silvert f2e26b0049
Cypress tests for masthead. (#304)
* Cypress tests for masthead.

* Update snapshot

* Update Keycloak version.

* Fix download address

* Update start.js

Co-authored-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* Follow redirect when downloading keycloak.

* Refactor HeaderPage into Masthead and ModalUtils

* Minor change to kick off build.

* logOutTest no longer needs a param

* goToAcctMgtTest no longer needs a param

* Update tests/cypress/support/pages/admin_console/Masthead.js

Co-authored-by: Aboullos <61687012+Aboullos@users.noreply.github.com>

* Update tests/cypress/support/pages/admin_console/Masthead.js

Co-authored-by: Aboullos <61687012+Aboullos@users.noreply.github.com>

* Fix userDropdown() method

* Minor refactor

Co-authored-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
Co-authored-by: Aboullos <61687012+Aboullos@users.noreply.github.com>
2021-01-21 07:09:50 -05:00

74 lines
2.2 KiB
JavaScript

import LoginPage from "../support/pages/LoginPage.js";
import Masthead from "../support/pages/admin_console/Masthead.js";
import ListingPage from "../support/pages/admin_console/ListingPage.js";
import SidebarPage from "../support/pages/admin_console/SidebarPage.js";
import CreateClientScopePage from "../support/pages/admin_console/manage/client_scopes/CreateClientScopePage.js";
describe("Client Scopes test", function () {
const itemId = "client_scope_1";
const loginPage = new LoginPage();
const masthead = new Masthead();
const sidebarPage = new SidebarPage();
const listingPage = new ListingPage();
const createClientScopePage = new CreateClientScopePage();
describe("Client Scope creation", function () {
beforeEach(function () {
cy.visit("");
});
it("should fail creating client scope", function () {
loginPage.logIn();
sidebarPage.goToClientScopes();
listingPage.goToCreateItem();
createClientScopePage.save().checkClientNameRequiredMessage();
createClientScopePage
.fillClientScopeData("address")
.save()
.checkClientNameRequiredMessage(false);
// The error should inform about duplicated name/id
masthead.checkNotificationMessage(
"Could not create client scope: 'Error: Request failed with status code 409'"
);
});
it("should create client scope", function () {
loginPage.logIn();
sidebarPage.goToClientScopes();
listingPage.itemExist(itemId, false).goToCreateItem();
createClientScopePage.fillClientScopeData(itemId).save();
masthead.checkNotificationMessage("Client scope created");
sidebarPage.goToClientScopes();
listingPage.itemExist(itemId).searchItem(itemId).itemExist(itemId);
});
});
describe("Client scope elimination", function () {
beforeEach(function () {
cy.visit("");
});
it("should delete client scope", function () {
loginPage.logIn();
sidebarPage.goToClientScopes();
listingPage.itemExist(itemId).deleteItem(itemId); // There should be a confirmation pop-up
masthead.checkNotificationMessage("The client scope has been deleted");
listingPage.itemExist(itemId, false);
});
});
});