contensis-management-api
Version:
Client for managing content using the Contensis Management API
540 lines (539 loc) • 32.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Contensis = require("../../index");
const specs_utils_spec_1 = require("../../specs-utils.spec");
const cross_fetch_1 = require("cross-fetch");
const Zengenti = { Contensis };
const global = window || this;
global.fetch = cross_fetch_1.default;
describe('Group Operations', () => {
describe('Get group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, specs_utils_spec_1.defaultGroups[0]);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('by id', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let group = await client.security.groups.getById(specs_utils_spec_1.defaultGroups[0].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(group).not.toBeNull();
expect(group.id).toEqual(specs_utils_spec_1.defaultGroups[0].id);
});
it('by name', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let group = await client.security.groups.getByName(specs_utils_spec_1.defaultGroups[0].name);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].name}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(group).not.toBeNull();
expect(group.name).toEqual(specs_utils_spec_1.defaultGroups[0].name);
});
});
describe('List groups', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, {
pageIndex: 0,
pageSize: 25,
totalCount: 2,
items: specs_utils_spec_1.defaultGroups
});
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('with default options', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let groups = await client.security.groups.list();
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
'http://my-website.com/api/security/groups',
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(groups).not.toBeNull();
expect(groups.items.length).toEqual(2);
expect(groups.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
it('with specific options', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let groups = await client.security.groups.list({
q: 'content',
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['name']
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
'http://my-website.com/api/security/groups?order=name&pageIndex=1&pageSize=50&q=content',
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(groups).not.toBeNull();
expect(groups.items.length).toEqual(2);
expect(groups.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
it('with specific options and no query', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let groups = await client.security.groups.list({
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['name']
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
'http://my-website.com/api/security/groups?order=name&pageIndex=1&pageSize=50',
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(groups).not.toBeNull();
expect(groups.items.length).toEqual(2);
expect(groups.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
it('with zenQL', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let groups = await client.security.groups.list({
zenQL: 'name="test"',
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
'http://my-website.com/api/security/groups?pageIndex=0&pageSize=25&zenQL=name%3D%22test%22',
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(groups).not.toBeNull();
expect(groups.items.length).toEqual(2);
expect(groups.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
});
describe('Create group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, specs_utils_spec_1.defaultGroups[0]);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let group = await client.security.groups.create(specs_utils_spec_1.defaultGroups[0]);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('POST', null, JSON.stringify(specs_utils_spec_1.defaultGroups[0]))
]);
expect(group).not.toBeNull();
expect(group.id).toEqual(specs_utils_spec_1.defaultGroups[0].id);
});
});
describe('Update group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, specs_utils_spec_1.defaultGroups[0]);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let group = await client.security.groups.update(specs_utils_spec_1.defaultGroups[0]);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('PUT', null, JSON.stringify(specs_utils_spec_1.defaultGroups[0]))
]);
expect(group).not.toBeNull();
expect(group.id).toEqual(specs_utils_spec_1.defaultGroups[0].id);
});
});
describe('Delete group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.delete(specs_utils_spec_1.defaultGroups[0].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('DELETE')
]);
expect(result).toEqual(null);
});
});
describe('Add user to group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group and user', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.addUser(specs_utils_spec_1.defaultGroups[0].id, specs_utils_spec_1.defaultUsers[0].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users/${specs_utils_spec_1.defaultUsers[0].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('PUT')
]);
expect(result).toEqual(null);
});
});
describe('Add users to group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group and users', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
const userIds = [specs_utils_spec_1.defaultUsers[0].id, specs_utils_spec_1.defaultUsers[1].id];
let result = await client.security.groups.addUsers(specs_utils_spec_1.defaultGroups[0].id, userIds);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('POST', false, JSON.stringify(userIds))
]);
expect(result).toEqual(null);
});
});
describe('Remove user from group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group and user', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.removeUser(specs_utils_spec_1.defaultGroups[0].id, specs_utils_spec_1.defaultUsers[0].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users/${specs_utils_spec_1.defaultUsers[0].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('DELETE')
]);
expect(result).toEqual(null);
});
});
describe('Has user in group', () => {
describe('for a positive result', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('and valid group and user', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.hasUser(specs_utils_spec_1.defaultGroups[0].id, specs_utils_spec_1.defaultUsers[0].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users/${specs_utils_spec_1.defaultUsers[0].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('HEAD')
]);
expect(result).toBeTrue();
});
});
describe('for a negative result', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null, true);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('and valid group and user', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.hasUser(specs_utils_spec_1.defaultGroups[0].id, specs_utils_spec_1.defaultUsers[0].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users/${specs_utils_spec_1.defaultUsers[0].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('HEAD')
]);
expect(result).toBeFalse();
});
});
});
describe('Add child group to group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group and child group', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.addChildGroup(specs_utils_spec_1.defaultGroups[0].id, specs_utils_spec_1.defaultGroups[1].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/groups/${specs_utils_spec_1.defaultGroups[1].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('PUT')
]);
expect(result).toEqual(null);
});
});
describe('Add child groups to group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch,
});
});
it('for valid group and child groups', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.addChildGroups(specs_utils_spec_1.defaultGroups[0].id, [specs_utils_spec_1.defaultGroups[1].id]);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/groups`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('POST', false, JSON.stringify([specs_utils_spec_1.defaultGroups[1].id])),
]);
expect(result).toEqual(null);
});
});
describe('Remove child group from group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, null);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('for valid group and child group', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let result = await client.security.groups.removeChildGroup(specs_utils_spec_1.defaultGroups[0].id, specs_utils_spec_1.defaultGroups[1].id);
expect(global.fetch).toHaveBeenCalledTimes(2);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/groups/${specs_utils_spec_1.defaultGroups[1].id}`,
(0, specs_utils_spec_1.getDefaultFetchRequest)('DELETE')
]);
expect(result).toEqual(null);
});
});
describe('Gets users in group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, {
pageIndex: 0,
pageSize: 25,
totalCount: 2,
items: specs_utils_spec_1.defaultUsers
});
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('by group id', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getUsersByGroupId(specs_utils_spec_1.defaultGroups[0].id);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].username).toEqual(specs_utils_spec_1.defaultUsers[1].username);
});
it('by group id with zenQL', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getUsersByGroupId(specs_utils_spec_1.defaultGroups[0].id, { zenQL: 'username="Geoff"' });
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users?pageIndex=0&pageSize=25&zenQL=username%3D%22Geoff%22`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].username).toEqual(specs_utils_spec_1.defaultUsers[1].username);
});
it('by group id with specific options', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getUsersByGroupId(specs_utils_spec_1.defaultGroups[0].id, {
includeInherited: true,
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['username']
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users?includeInherited=true&order=username&pageIndex=1&pageSize=50`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].username).toEqual(specs_utils_spec_1.defaultUsers[1].username);
});
it('by group id with an exclusion group', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getUsersByGroupId(specs_utils_spec_1.defaultGroups[0].id, {
includeInherited: true,
excludedGroups: ['abc'],
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['username']
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users?excludedGroups=abc&includeInherited=true&order=username&pageIndex=1&pageSize=50`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].username).toEqual(specs_utils_spec_1.defaultUsers[1].username);
});
it('by group id with many exclusion groups', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getUsersByGroupId(specs_utils_spec_1.defaultGroups[0].id, {
includeInherited: true,
excludedGroups: ['abc', 'def', 'hij'],
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['username']
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/users?excludedGroups=abc%2Cdef%2Chij&includeInherited=true&order=username&pageIndex=1&pageSize=50`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].username).toEqual(specs_utils_spec_1.defaultUsers[1].username);
});
it('by group name', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getUsersByGroupName(specs_utils_spec_1.defaultGroups[0].name);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].name}/users`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].username).toEqual(specs_utils_spec_1.defaultUsers[1].username);
});
it('by group name with specific options', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getUsersByGroupName(specs_utils_spec_1.defaultGroups[0].name, {
includeInherited: true,
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['username']
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].name}/users?includeInherited=true&order=username&pageIndex=1&pageSize=50`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].username).toEqual(specs_utils_spec_1.defaultUsers[1].username);
});
});
describe('Gets groups in group', () => {
beforeEach(() => {
(0, specs_utils_spec_1.setDefaultSpy)(global, {
pageIndex: 0,
pageSize: 25,
totalCount: 2,
items: specs_utils_spec_1.defaultGroups
});
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('by group id', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let groups = await client.security.groups.getChildGroupsByGroupId(specs_utils_spec_1.defaultGroups[0].id);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/groups`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(groups).not.toBeNull();
expect(groups.items.length).toEqual(2);
expect(groups.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
it('by group id with zenQL', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let groups = await client.security.groups.getChildGroupsByGroupId(specs_utils_spec_1.defaultGroups[0].id, { zenQL: 'name="Test"' });
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/groups?pageIndex=0&pageSize=25&zenQL=name%3D%22Test%22`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(groups).not.toBeNull();
expect(groups.items.length).toEqual(2);
expect(groups.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
it('by group id with options', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let groups = await client.security.groups.getChildGroupsByGroupId(specs_utils_spec_1.defaultGroups[0].id, {
includeInherited: true,
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['name'],
includeSelf: true
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].id}/groups?includeInherited=true&includeSelf=true&order=name&pageIndex=1&pageSize=50`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(groups).not.toBeNull();
expect(groups.items.length).toEqual(2);
expect(groups.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
it('by group name', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getChildGroupsByGroupName(specs_utils_spec_1.defaultGroups[0].name);
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].name}/groups`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
it('by group name with options', async () => {
let client = Zengenti.Contensis.Client.create((0, specs_utils_spec_1.getDefaultConfig)());
let users = await client.security.groups.getChildGroupsByGroupName(specs_utils_spec_1.defaultGroups[0].name, {
includeInherited: true,
pageOptions: { pageIndex: 1, pageSize: 50 },
order: ['name'],
includeSelf: true
});
expect(global.fetch.calls.first().args[0]).toEqual((0, specs_utils_spec_1.getDefaultAuthenticateUrl)());
expect(global.fetch.calls.mostRecent().args).toEqual([
`http://my-website.com/api/security/groups/${specs_utils_spec_1.defaultGroups[0].name}/groups?includeInherited=true&includeSelf=true&order=name&pageIndex=1&pageSize=50`,
(0, specs_utils_spec_1.getDefaultFetchRequest)()
]);
expect(users).not.toBeNull();
expect(users.items.length).toEqual(2);
expect(users.items[1].name).toEqual(specs_utils_spec_1.defaultGroups[1].name);
});
});
});