keycloak-scim/js/apps/admin-ui/cypress/e2e/realm_test.spec.ts

121 lines
3.7 KiB
TypeScript
Raw Normal View History

import { v4 as uuid } from "uuid";
2021-01-27 12:56:28 +00:00
import LoginPage from "../support/pages/LoginPage";
import SidebarPage from "../support/pages/admin-ui/SidebarPage";
import CreateRealmPage from "../support/pages/admin-ui/CreateRealmPage";
import Masthead from "../support/pages/admin-ui/Masthead";
import adminClient from "../support/util/AdminClient";
import { keycloakBefore } from "../support/util/keycloak_hooks";
import RealmSettings from "../support/pages/admin-ui/configure/realm_settings/RealmSettings";
2022-04-06 09:21:04 +00:00
import ModalUtils from "../support/util/ModalUtils";
const masthead = new Masthead();
const loginPage = new LoginPage();
const sidebarPage = new SidebarPage();
const createRealmPage = new CreateRealmPage();
2022-04-06 09:21:04 +00:00
const realmSettings = new RealmSettings();
const modalUtils = new ModalUtils();
const testRealmName = "Test-realm-" + uuid();
const newRealmName = "New-Test-realm-" + uuid();
const editedRealmName = "Edited-Test-realm-" + uuid();
2023-01-27 16:10:09 +00:00
const testDisabledName = "Test-Disabled";
describe("Realm tests", () => {
2023-02-10 10:10:35 +00:00
beforeEach(() => {
loginPage.logIn();
2023-02-10 10:10:35 +00:00
keycloakBefore();
});
after(() =>
Promise.all(
[testRealmName, newRealmName, editedRealmName].map((realm) =>
adminClient.deleteRealm(realm),
),
),
);
it("should fail creating duplicated or empty name realm", () => {
sidebarPage.goToCreateRealm();
createRealmPage.createRealm().verifyRealmNameFieldInvalid();
createRealmPage.fillRealmName("master").createRealm();
masthead.checkNotificationMessage(
"Could not create realm Conflict detected. See logs for details",
);
createRealmPage.cancelRealmCreation();
});
2022-04-06 09:21:04 +00:00
it("should create Test realm", () => {
sidebarPage.goToCreateRealm();
2022-04-06 09:21:04 +00:00
// Test and clear resource field
createRealmPage.fillCodeEditor();
createRealmPage.clearTextField();
2022-04-06 09:21:04 +00:00
createRealmPage.fillRealmName(testRealmName).createRealm();
masthead.checkNotificationMessage("Realm created successfully");
});
it("CRUD test of Disabled realm", () => {
sidebarPage.goToCreateRealm();
sidebarPage.waitForPageLoad();
2023-01-27 16:10:09 +00:00
createRealmPage.fillRealmName(testDisabledName).createRealm();
2022-04-06 09:21:04 +00:00
masthead.checkNotificationMessage("Realm created successfully");
2022-04-06 09:21:04 +00:00
cy.reload();
sidebarPage.goToRealm(testDisabledName).goToRealmSettings();
createRealmPage.disableRealm();
modalUtils.confirmModal();
masthead.checkNotificationMessage("Realm successfully updated");
2023-01-27 16:10:09 +00:00
sidebarPage.goToRealm(testDisabledName).goToRealmSettings();
realmSettings.clickActionMenu();
cy.findByText("Delete").click();
modalUtils.cancelModal();
2022-04-06 09:21:04 +00:00
cy.reload();
sidebarPage.waitForPageLoad();
2023-01-27 16:10:09 +00:00
sidebarPage.goToRealm(testDisabledName).goToRealmSettings();
realmSettings.clickActionMenu();
cy.findByText("Delete").click();
modalUtils.confirmModal();
masthead.checkNotificationMessage("The realm has been deleted");
2022-04-06 09:21:04 +00:00
// Show current realms
sidebarPage.realmExists("Test-Disabled", false);
});
2022-04-06 09:21:04 +00:00
it("should create realm from new a realm", () => {
sidebarPage.goToCreateRealm();
createRealmPage.fillRealmName(newRealmName).createRealm();
masthead.checkNotificationMessage("Realm created successfully");
sidebarPage.goToCreateRealm();
createRealmPage.fillRealmName(editedRealmName).createRealm();
masthead.checkNotificationMessage("Realm created successfully");
// Show current realms
sidebarPage.showCurrentRealms(4);
});
2022-04-06 09:21:04 +00:00
it("should change to Test realm", () => {
2023-02-10 10:10:35 +00:00
sidebarPage.goToRealm(editedRealmName);
sidebarPage.getCurrentRealm().should("eq", editedRealmName);
sidebarPage
.goToRealm(testRealmName)
.getCurrentRealm()
.should("eq", testRealmName);
});
});