contensis-delivery-api
Version:
Client for retrieving content using the read-only Contensis Delivery API
56 lines (42 loc) • 1.51 kB
text/typescript
import * as Contensis from '../index';
import { getDefaultFetchRequestForAccessToken, setDefaultSpyForAccessToken } from '../specs-utils.spec';
import fetch from 'cross-fetch';
const Zengenti = { Contensis };
const global = window || this;
global.fetch = fetch;
describe('Project Operations', function () {
beforeEach(() => {
setDefaultSpyForAccessToken(global);
Zengenti.Contensis.Client.defaultClientConfig = null;
Zengenti.Contensis.Client.configure({
fetchFn: global.fetch
});
});
it('Get with specified root url', async () => {
let client = Zengenti.Contensis.Client.create({
projectId: 'myProject',
rootUrl: 'http://my-website.com/',
accessToken: 'XXXXXX'
});
let project = await client.project.get();
expect(global.fetch).toHaveBeenCalled();
expect((global.fetch as any).calls.mostRecent().args).toEqual([
'http://my-website.com/api/delivery/projects/myProject',
getDefaultFetchRequestForAccessToken()
]);
expect(project).not.toBeNull();
});
it('Get without root url', async () => {
let client = Zengenti.Contensis.Client.create({
projectId: 'myProject',
accessToken: 'XXXXXX'
});
let project = await client.project.get();
expect(global.fetch).toHaveBeenCalled();
expect((global.fetch as any).calls.mostRecent().args).toEqual([
'/api/delivery/projects/myProject',
getDefaultFetchRequestForAccessToken(null, null, true)
]);
expect(project).not.toBeNull();
});
});