@querc/squidex-client
Version:
NodeJS client for the [Squidex](https://squidex.io/) CMS
51 lines (45 loc) • 6.11 kB
JavaScript
;
require("jest");
var _squidexClient = require("./squidex-client");
var _nodeFetch = require("./http/node-fetch.client");
const CONFIG = {
clientId: 'my-app:default',
clientSecret: 'SEKRIT'
};
describe('Squidex Client should...', () => {
test('exist', () => {
expect(_squidexClient.SquidexClient).toBeDefined();
});
test('be configured', () => {
const client = new _squidexClient.SquidexClient(CONFIG);
expect(client.config).toBeDefined();
});
test('use provided HttpClient', () => {
const mockHttpClient = {
isMock: true
};
const client = new _squidexClient.SquidexClient(CONFIG, mockHttpClient);
expect(client.httpClient).toMatchObject({
isMock: true
});
});
test('use NodeFetchClient if none provided', () => {
const client = new _squidexClient.SquidexClient(CONFIG);
expect(client.httpClient).toBeInstanceOf(_nodeFetch.NodeFetchClient);
});
test('set schema properly when calling content', () => {
const client = new _squidexClient.SquidexClient(CONFIG);
const contentSvc = client.content('test');
expect(contentSvc.schema).toBe('test');
});
test('throw error when calling content without schema', () => {
expect.assertions(1);
try {
const client = new _squidexClient.SquidexClient(CONFIG); // Need to cast to `any` so that TS lets us do this
client.content();
} catch (e) {
expect(e.message).toMatch(/Schema is required/);
}
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcXVpZGV4LWNsaWVudC50ZXN0LnRzIl0sIm5hbWVzIjpbIkNPTkZJRyIsImNsaWVudElkIiwiY2xpZW50U2VjcmV0IiwiZGVzY3JpYmUiLCJ0ZXN0IiwiZXhwZWN0IiwiU3F1aWRleENsaWVudCIsInRvQmVEZWZpbmVkIiwiY2xpZW50IiwiY29uZmlnIiwibW9ja0h0dHBDbGllbnQiLCJpc01vY2siLCJodHRwQ2xpZW50IiwidG9NYXRjaE9iamVjdCIsInRvQmVJbnN0YW5jZU9mIiwiTm9kZUZldGNoQ2xpZW50IiwiY29udGVudFN2YyIsImNvbnRlbnQiLCJzY2hlbWEiLCJ0b0JlIiwiYXNzZXJ0aW9ucyIsImUiLCJtZXNzYWdlIiwidG9NYXRjaCJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFDQTs7QUFFQTs7QUFFQSxNQUFNQSxNQUFNLEdBQUc7QUFDWEMsRUFBQUEsUUFBUSxFQUFFLGdCQURDO0FBRVhDLEVBQUFBLFlBQVksRUFBRTtBQUZILENBQWY7QUFLQUMsUUFBUSxDQUFDLDBCQUFELEVBQTZCLE1BQU07QUFDdkNDLEVBQUFBLElBQUksQ0FBQyxPQUFELEVBQVUsTUFBTTtBQUNoQkMsSUFBQUEsTUFBTSxDQUFDQyw0QkFBRCxDQUFOLENBQXNCQyxXQUF0QjtBQUNILEdBRkcsQ0FBSjtBQUlBSCxFQUFBQSxJQUFJLENBQUMsZUFBRCxFQUFrQixNQUFNO0FBQ3hCLFVBQU1JLE1BQU0sR0FBRyxJQUFJRiw0QkFBSixDQUFrQk4sTUFBbEIsQ0FBZjtBQUVBSyxJQUFBQSxNQUFNLENBQUNHLE1BQU0sQ0FBQ0MsTUFBUixDQUFOLENBQXNCRixXQUF0QjtBQUNILEdBSkcsQ0FBSjtBQU1BSCxFQUFBQSxJQUFJLENBQUMseUJBQUQsRUFBNEIsTUFBTTtBQUNsQyxVQUFNTSxjQUFjLEdBQUk7QUFDcEJDLE1BQUFBLE1BQU0sRUFBRTtBQURZLEtBQXhCO0FBSUEsVUFBTUgsTUFBTSxHQUFHLElBQUlGLDRCQUFKLENBQWtCTixNQUFsQixFQUEwQlUsY0FBMUIsQ0FBZjtBQUVBTCxJQUFBQSxNQUFNLENBQUVHLE1BQUQsQ0FBZ0JJLFVBQWpCLENBQU4sQ0FBbUNDLGFBQW5DLENBQWlEO0FBQUVGLE1BQUFBLE1BQU0sRUFBRTtBQUFWLEtBQWpEO0FBQ0gsR0FSRyxDQUFKO0FBVUFQLEVBQUFBLElBQUksQ0FBQyxzQ0FBRCxFQUF5QyxNQUFNO0FBQy9DLFVBQU1JLE1BQU0sR0FBRyxJQUFJRiw0QkFBSixDQUFrQk4sTUFBbEIsQ0FBZjtBQUVBSyxJQUFBQSxNQUFNLENBQUVHLE1BQUQsQ0FBZ0JJLFVBQWpCLENBQU4sQ0FBbUNFLGNBQW5DLENBQWtEQywwQkFBbEQ7QUFDSCxHQUpHLENBQUo7QUFNQVgsRUFBQUEsSUFBSSxDQUFDLDBDQUFELEVBQTZDLE1BQU07QUFDbkQsVUFBTUksTUFBTSxHQUFHLElBQUlGLDRCQUFKLENBQWtCTixNQUFsQixDQUFmO0FBQ0EsVUFBTWdCLFVBQVUsR0FBR1IsTUFBTSxDQUFDUyxPQUFQLENBQWUsTUFBZixDQUFuQjtBQUVBWixJQUFBQSxNQUFNLENBQUNXLFVBQVUsQ0FBQ0UsTUFBWixDQUFOLENBQTBCQyxJQUExQixDQUErQixNQUEvQjtBQUNILEdBTEcsQ0FBSjtBQU9BZixFQUFBQSxJQUFJLENBQUMsaURBQUQsRUFBb0QsTUFBTTtBQUMxREMsSUFBQUEsTUFBTSxDQUFDZSxVQUFQLENBQWtCLENBQWxCOztBQUNBLFFBQUk7QUFDQSxZQUFNWixNQUFNLEdBQUcsSUFBSUYsNEJBQUosQ0FBa0JOLE1BQWxCLENBQWYsQ0FEQSxDQUVBOztBQUNDUSxNQUFBQSxNQUFELENBQWdCUyxPQUFoQjtBQUNILEtBSkQsQ0FJRSxPQUFPSSxDQUFQLEVBQVU7QUFDUmhCLE1BQUFBLE1BQU0sQ0FBQ2dCLENBQUMsQ0FBQ0MsT0FBSCxDQUFOLENBQWtCQyxPQUFsQixDQUEwQixvQkFBMUI7QUFDSDtBQUNKLEdBVEcsQ0FBSjtBQVVILENBNUNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ2plc3QnO1xuaW1wb3J0IHsgU3F1aWRleENsaWVudCB9IGZyb20gJy4vc3F1aWRleC1jbGllbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJy4vaHR0cCc7XG5pbXBvcnQgeyBOb2RlRmV0Y2hDbGllbnQgfSBmcm9tICcuL2h0dHAvbm9kZS1mZXRjaC5jbGllbnQnO1xuXG5jb25zdCBDT05GSUcgPSB7XG4gICAgY2xpZW50SWQ6ICdteS1hcHA6ZGVmYXVsdCcsXG4gICAgY2xpZW50U2VjcmV0OiAnU0VLUklUJyxcbn07XG5cbmRlc2NyaWJlKCdTcXVpZGV4IENsaWVudCBzaG91bGQuLi4nLCAoKSA9PiB7XG4gICAgdGVzdCgnZXhpc3QnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChTcXVpZGV4Q2xpZW50KS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnYmUgY29uZmlndXJlZCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gbmV3IFNxdWlkZXhDbGllbnQoQ09ORklHKTtcblxuICAgICAgICBleHBlY3QoY2xpZW50LmNvbmZpZykudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ3VzZSBwcm92aWRlZCBIdHRwQ2xpZW50JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBtb2NrSHR0cENsaWVudCA9ICh7XG4gICAgICAgICAgICBpc01vY2s6IHRydWUsXG4gICAgICAgIH0gYXMgdW5rbm93bikgYXMgSHR0cENsaWVudDtcblxuICAgICAgICBjb25zdCBjbGllbnQgPSBuZXcgU3F1aWRleENsaWVudChDT05GSUcsIG1vY2tIdHRwQ2xpZW50KTtcblxuICAgICAgICBleHBlY3QoKGNsaWVudCBhcyBhbnkpLmh0dHBDbGllbnQpLnRvTWF0Y2hPYmplY3QoeyBpc01vY2s6IHRydWUgfSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCd1c2UgTm9kZUZldGNoQ2xpZW50IGlmIG5vbmUgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IG5ldyBTcXVpZGV4Q2xpZW50KENPTkZJRyk7XG5cbiAgICAgICAgZXhwZWN0KChjbGllbnQgYXMgYW55KS5odHRwQ2xpZW50KS50b0JlSW5zdGFuY2VPZihOb2RlRmV0Y2hDbGllbnQpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnc2V0IHNjaGVtYSBwcm9wZXJseSB3aGVuIGNhbGxpbmcgY29udGVudCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gbmV3IFNxdWlkZXhDbGllbnQoQ09ORklHKTtcbiAgICAgICAgY29uc3QgY29udGVudFN2YyA9IGNsaWVudC5jb250ZW50KCd0ZXN0Jyk7XG5cbiAgICAgICAgZXhwZWN0KGNvbnRlbnRTdmMuc2NoZW1hKS50b0JlKCd0ZXN0Jyk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCd0aHJvdyBlcnJvciB3aGVuIGNhbGxpbmcgY29udGVudCB3aXRob3V0IHNjaGVtYScsICgpID0+IHtcbiAgICAgICAgZXhwZWN0LmFzc2VydGlvbnMoMSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjbGllbnQgPSBuZXcgU3F1aWRleENsaWVudChDT05GSUcpO1xuICAgICAgICAgICAgLy8gTmVlZCB0byBjYXN0IHRvIGBhbnlgIHNvIHRoYXQgVFMgbGV0cyB1cyBkbyB0aGlzXG4gICAgICAgICAgICAoY2xpZW50IGFzIGFueSkuY29udGVudCgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBleHBlY3QoZS5tZXNzYWdlKS50b01hdGNoKC9TY2hlbWEgaXMgcmVxdWlyZWQvKTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7XG4iXX0=