contensis-management-api
Version:
Client for managing content using the Contensis Management API
41 lines (31 loc) • 1.37 kB
text/typescript
import * as Contensis from '../index';
import { getDefaultConfig } from '../specs-utils.spec';
import { UrlBuilder } from 'contensis-core-api';
const Zengenti = { Contensis };
describe('Url Builder', function () {
let client = null;
beforeEach(() => {
client = Zengenti.Contensis.Client.create(getDefaultConfig());
});
it('should populate named values', () => {
let url = UrlBuilder.create('/api/management/projects/:projectId/contenttypes/:contentTypeId/entries')
.addOptions({ contentTypeId: 'movie' })
.setParams(client.getParams())
.toUrl();
expect(url).toEqual('/api/management/projects/myProject/contenttypes/movie/entries');
});
it('should populate multiple named values', () => {
let url = UrlBuilder.create('/api/management/projects/:projectId/someresources/:key/:id')
.addOptions({ key: 0, id: 1 })
.setParams(client.getParams())
.toUrl();
expect(url).toEqual('/api/management/projects/myProject/someresources/0/1');
});
it('should populate multiple named values in query string', () => {
let url = UrlBuilder.create('/api/management/projects/:projectId/someresources', { key: null, id: null })
.addOptions({ key: 0, id: 1 })
.setParams(client.getParams())
.toUrl();
expect(url).toEqual('/api/management/projects/myProject/someresources?id=1&key=0');
});
});