UNPKG

contensis-management-api

Version:

Client for managing content using the Contensis Management API

41 lines (31 loc) 1.37 kB
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'); }); });