keycloak-scim/cypress/integration/users_test.spec.ts

88 lines
2.5 KiB
TypeScript
Raw Normal View History

2021-03-03 19:12:16 +00:00
import SidebarPage from "../support/pages/admin_console/SidebarPage";
import LoginPage from "../support/pages/LoginPage";
2021-03-04 14:26:21 +00:00
import CreateUserPage from "../support/pages/admin_console/manage/users/CreateUserPage";
import Masthead from "../support/pages/admin_console/Masthead";
import ListingPage from "../support/pages/admin_console/ListingPage";
import UserDetailsPage from "../support/pages/admin_console/manage/users/UserDetailsPage";
import ModalUtils from "../support/util/ModalUtils";
2021-03-03 19:12:16 +00:00
describe("Users test", () => {
const loginPage = new LoginPage();
const sidebarPage = new SidebarPage();
2021-03-04 14:26:21 +00:00
const createUserPage = new CreateUserPage();
const masthead = new Masthead();
const modalUtils = new ModalUtils();
2021-03-04 14:26:21 +00:00
const listingPage = new ListingPage();
const userDetailsPage = new UserDetailsPage();
2021-03-04 14:26:21 +00:00
let itemId = "user_crud";
2021-03-03 19:12:16 +00:00
describe("User creation", () => {
beforeEach(() => {
/*
Prevent unpredictable 401 errors from failing individual tests.
These are most often occurring during the login process:
GET /admin/serverinfo/
GET /admin/master/console/whoami
*/
cy.on("uncaught:exception", () => {
return false;
});
2021-03-03 19:12:16 +00:00
cy.visit("");
loginPage.logIn();
sidebarPage.goToUsers();
});
it("Go to create User page", () => {
cy.wait(100);
2021-03-04 14:26:21 +00:00
createUserPage.goToCreateUser();
2021-03-03 19:12:16 +00:00
cy.url().should("include", "users/add-user");
2021-03-04 14:26:21 +00:00
// Verify Cancel button works
createUserPage.cancel();
2021-03-03 19:12:16 +00:00
cy.url().should("not.include", "/add-user");
});
2021-03-04 14:26:21 +00:00
it("Create user test", function () {
itemId += "_" + (Math.random() + 1).toString(36).substring(7);
2021-03-04 14:26:21 +00:00
// Create
cy.wait(100);
2021-03-04 14:26:21 +00:00
createUserPage.goToCreateUser();
createUserPage.createUser(itemId).save();
2021-03-04 14:26:21 +00:00
masthead.checkNotificationMessage("The user has been created");
sidebarPage.goToUsers();
});
it("Go to user details test", function () {
cy.wait(1000);
listingPage.searchItem(itemId).itemExist(itemId);
cy.wait(1000);
listingPage.goToItemDetails(itemId);
userDetailsPage.fillUserData().save();
masthead.checkNotificationMessage("The user has been saved");
2021-03-04 14:26:21 +00:00
sidebarPage.goToUsers();
listingPage.searchItem(itemId).itemExist(itemId);
// Delete
cy.wait(1000);
listingPage.deleteItem(itemId);
modalUtils.checkModalTitle("Delete user?").confirmModal();
masthead.checkNotificationMessage("The user has been deleted");
listingPage.itemExist(itemId, false);
2021-03-04 14:26:21 +00:00
});
2021-03-03 19:12:16 +00:00
});
});