kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
60 lines • 2.33 kB
JavaScript
exports.__esModule = true;
var mappers_1 = require("../../../lib/mappers");
var setup_1 = require("../../setup");
describe('FieldMapper', function () {
var fieldType = 'invalid';
var FakeField = /** @class */ (function () {
function FakeField(name, value) {
this.name = name;
this.value = value;
this.type = fieldType;
}
return FakeField;
}());
var context = new setup_1.Context();
setup_1.setup(context);
var fieldMapper = new mappers_1.FieldMapper(context.getConfig(), context.richTextHtmlParser);
it("should throw an Error when invalid response is given", function () {
expect(function () { return fieldMapper.mapFields(null, null, null, null); }).toThrowError();
expect(function () { return fieldMapper.mapFields(undefined, undefined, undefined, undefined); }).toThrowError();
expect(function () {
var item = {
elements: {},
system: {}
};
fieldMapper.mapFields(item, undefined, undefined, undefined);
}).toThrowError();
expect(function () {
var item = {
elements: {},
system: {}
};
fieldMapper.mapFields(item, undefined, undefined, undefined);
}).toThrowError();
expect(function () {
var item = {
elements: {},
system: {}
};
fieldMapper.mapFields(item, {}, {}, undefined);
}).toThrowError();
});
it("should throw an Error when unsupported field type is used", function () {
var fakeField = new FakeField('testField', 'testValue');
var item = {
elements: { 'testField': fakeField },
system: {
type: 'movie',
codename: 'cd',
id: '',
last_modified: new Date(),
name: 'name',
sitemap_locations: [],
language: 'en'
}
};
expect(function () { return fieldMapper.mapFields(item, {}, {}, []); }).toThrowError("Unsupported field type '" + fieldType + "'");
});
});
//# sourceMappingURL=field-mapper.spec.js.map
;