keycloak-scim/js/libs/keycloak-admin-client/test/organizations.spec.ts

57 lines
1.6 KiB
TypeScript
Raw Normal View History

// tslint:disable:no-unused-expression
import * as chai from "chai";
import { KeycloakAdminClient } from "../src/client.js";
import { credentials } from "./constants.js";
const expect = chai.expect;
describe("Organizations", () => {
let kcAdminClient: KeycloakAdminClient;
before(async () => {
kcAdminClient = new KeycloakAdminClient();
await kcAdminClient.auth(credentials);
});
it("retrieves empty organizations list", async () => {
const organizations = await kcAdminClient.organizations.find();
expect(organizations).to.be.ok;
expect(organizations).to.be.empty;
});
it("creates, updates, and removes an organization", async () => {
const myOrganization = {
name: "orga",
enabled: true,
domains: [
{
name: "orga.com",
},
],
};
const org = await kcAdminClient.organizations.create(myOrganization);
let allOrganizations = await kcAdminClient.organizations.find();
expect(allOrganizations).to.be.ok;
expect(allOrganizations).to.be.not.empty;
myOrganization.enabled = false;
await kcAdminClient.organizations.updateById(
{ id: org.id },
myOrganization,
);
allOrganizations = await kcAdminClient.organizations.find();
expect(allOrganizations).to.be.ok;
expect(allOrganizations.length).to.equal(1);
expect(allOrganizations[0].enabled).to.be.false;
await kcAdminClient.organizations.delById({
id: org.id,
});
allOrganizations = await kcAdminClient.organizations.find();
expect(allOrganizations).to.be.ok;
expect(allOrganizations).to.be.empty;
});
});