UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

74 lines 3.56 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { ContentItem, FieldDecorators, Fields, DeliveryHttpService, sdkInfo, TypeResolver } from '../../../lib'; import { Actor, Context, MockQueryService, setup, warriorMovieJson } from '../../setup'; var MockMovie = /** @class */ (function (_super) { __extends(MockMovie, _super); function MockMovie() { return _super.call(this, { propertyResolver: function (fieldName) { if (fieldName === 'title') { return 'titleTest'; } // undefined because property resolved is prioritized over field decorator return undefined; } }) || this; } __decorate([ FieldDecorators.codename('released'), __metadata("design:type", Fields.DateTimeField) ], MockMovie.prototype, "test_released"); __decorate([ FieldDecorators.codename('length'), __metadata("design:type", Fields.NumberField) ], MockMovie.prototype, "justNumber"); return MockMovie; }(ContentItem)); describe('Property resolver', function () { var context = new Context(); var typeResolvers = []; typeResolvers.push(new TypeResolver('movie', function () { return new MockMovie(); })); typeResolvers.push(new TypeResolver('actor', function () { return new Actor(); })); context.typeResolvers = typeResolvers; setup(context); // mock query service var mockQueryService = new MockQueryService(context.getConfig(), new DeliveryHttpService(), { host: sdkInfo.host, name: sdkInfo.name, version: sdkInfo.version }); var response; beforeAll(function (done) { response = mockQueryService.mockGetSingleItem(warriorMovieJson, {}); console.warn(response); done(); }); it("checks field is assigned #1", function () { expect(response.item.titleTest.text).toEqual('Warrior'); }); it("checks field is assigned #2", function () { expect(response.item.test_released.datetime).toEqual(new Date('2011-09-09T00:00:00Z')); }); it("checks field is assigned #3", function () { expect(response.item.justNumber.number).toEqual(151); }); }); //# sourceMappingURL=property-resolver.spec.js.map