149 lines
4.3 KiB
TypeScript
149 lines
4.3 KiB
TypeScript
|
import Form from "../support/forms/Form";
|
||
|
import LoginPage from "../support/pages/LoginPage";
|
||
|
import ListingPage from "../support/pages/admin-ui/ListingPage";
|
||
|
import IdentityProviderTab from "../support/pages/admin-ui/manage/organization/IdentityProviderTab";
|
||
|
import MembersTab from "../support/pages/admin-ui/manage/organization/MemberTab";
|
||
|
import OrganizationPage from "../support/pages/admin-ui/manage/organization/OrganizationPage";
|
||
|
import adminClient from "../support/util/AdminClient";
|
||
|
import { keycloakBefore } from "../support/util/keycloak_hooks";
|
||
|
import RealmSettingsPage from "../support/pages/admin-ui/manage/realm_settings/RealmSettingsPage";
|
||
|
import SidebarPage from "../support/pages/admin-ui/SidebarPage";
|
||
|
|
||
|
const loginPage = new LoginPage();
|
||
|
const listingPage = new ListingPage();
|
||
|
const page = new OrganizationPage();
|
||
|
const realmSettingsPage = new RealmSettingsPage();
|
||
|
const sidebarPage = new SidebarPage();
|
||
|
|
||
|
describe.skip("Organization CRUD", () => {
|
||
|
beforeEach(() => {
|
||
|
loginPage.logIn();
|
||
|
keycloakBefore();
|
||
|
sidebarPage.goToRealmSettings();
|
||
|
realmSettingsPage.setSwitch("organizationsEnabled", true);
|
||
|
realmSettingsPage.saveGeneral();
|
||
|
});
|
||
|
|
||
|
it("should create new organization", () => {
|
||
|
page.goToTab();
|
||
|
page.goToCreate();
|
||
|
Form.assertSaveButtonDisabled();
|
||
|
page.fillCreatePage({ name: "orgName" });
|
||
|
Form.assertSaveButtonEnabled();
|
||
|
page.fillCreatePage({
|
||
|
name: "orgName",
|
||
|
domain: ["ame.org", "test.nl"],
|
||
|
description: "some description",
|
||
|
});
|
||
|
Form.clickSaveButton();
|
||
|
page.assertSaveSuccess();
|
||
|
});
|
||
|
|
||
|
it("should modify existing organization", () => {
|
||
|
cy.wrap(null).then(() =>
|
||
|
adminClient.createOrganization({
|
||
|
name: "editName",
|
||
|
domains: [{ name: "go.org", verified: false }],
|
||
|
}),
|
||
|
);
|
||
|
page.goToTab();
|
||
|
|
||
|
listingPage.goToItemDetails("editName");
|
||
|
const newValue = "newName";
|
||
|
page.fillNameField(newValue).should("have.value", newValue);
|
||
|
Form.clickSaveButton();
|
||
|
page.assertSaveSuccess();
|
||
|
page.goToTab();
|
||
|
listingPage.itemExist(newValue);
|
||
|
});
|
||
|
|
||
|
it("should delete from list", () => {
|
||
|
page.goToTab();
|
||
|
listingPage.deleteItem("orgName");
|
||
|
page.modalUtils().confirmModal();
|
||
|
page.assertDeleteSuccess();
|
||
|
});
|
||
|
|
||
|
it.skip("should delete from details page", () => {
|
||
|
page.goToTab();
|
||
|
listingPage.goToItemDetails("newName");
|
||
|
|
||
|
page
|
||
|
.actionToolbarUtils()
|
||
|
.clickActionToggleButton()
|
||
|
.clickDropdownItem("Delete");
|
||
|
page.modalUtils().confirmModal();
|
||
|
|
||
|
page.assertDeleteSuccess();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe.skip("Members", () => {
|
||
|
const membersTab = new MembersTab();
|
||
|
|
||
|
before(() => {
|
||
|
adminClient.createOrganization({
|
||
|
name: "member",
|
||
|
domains: [{ name: "o.com", verified: false }],
|
||
|
});
|
||
|
adminClient.createUser({ username: "realm-user", enabled: true });
|
||
|
});
|
||
|
|
||
|
after(() => {
|
||
|
adminClient.deleteOrganization("member");
|
||
|
adminClient.deleteUser("realm-user");
|
||
|
});
|
||
|
|
||
|
beforeEach(() => {
|
||
|
loginPage.logIn();
|
||
|
keycloakBefore();
|
||
|
page.goToTab();
|
||
|
});
|
||
|
|
||
|
it("should add member", () => {
|
||
|
listingPage.goToItemDetails("member");
|
||
|
membersTab.goToTab();
|
||
|
membersTab.clickAddRealmUser();
|
||
|
membersTab.modalUtils().assertModalVisible(true);
|
||
|
membersTab.modalUtils().table().selectRowItemCheckbox("realm-user");
|
||
|
membersTab.modalUtils().add();
|
||
|
membersTab.assertMemberAddedSuccess();
|
||
|
membersTab.tableUtils().checkRowItemExists("realm-user");
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe.skip("Identity providers", () => {
|
||
|
const idpTab = new IdentityProviderTab();
|
||
|
before(() => {
|
||
|
adminClient.createOrganization({
|
||
|
name: "idp",
|
||
|
domains: [{ name: "o.com", verified: false }],
|
||
|
});
|
||
|
adminClient.createIdentityProvider("BitBucket", "bitbucket");
|
||
|
});
|
||
|
after(() => {
|
||
|
adminClient.deleteOrganization("idp");
|
||
|
adminClient.deleteIdentityProvider("bitbucket");
|
||
|
});
|
||
|
|
||
|
beforeEach(() => {
|
||
|
loginPage.logIn();
|
||
|
keycloakBefore();
|
||
|
page.goToTab();
|
||
|
});
|
||
|
|
||
|
it("should add idp", () => {
|
||
|
listingPage.goToItemDetails("idp");
|
||
|
idpTab.goToTab();
|
||
|
idpTab.emptyState().checkIfExists(true);
|
||
|
idpTab.emptyState().clickPrimaryBtn();
|
||
|
|
||
|
idpTab.fillForm({ name: "bitbucket", domain: "o.com", public: true });
|
||
|
idpTab.modalUtils().confirmModal();
|
||
|
|
||
|
idpTab.assertAddedSuccess();
|
||
|
|
||
|
idpTab.tableUtils().checkRowItemExists("bitbucket");
|
||
|
});
|
||
|
});
|