UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

54 lines 2.4 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 __()); }; })(); import { ContentItem, 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, { linkResolver: function (link) { return 'globalSlug/' + link.urlSlug; } }) || this; } return MockMovie; }(ContentItem)); describe('URL slug 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); var mockQueryService = new MockQueryService(context.getConfig(), new DeliveryHttpService(), { host: sdkInfo.host, name: sdkInfo.name, version: sdkInfo.version }); var response; var responseWithQueryConfig; beforeAll(function (done) { response = mockQueryService.mockGetSingleItem(warriorMovieJson, {}); responseWithQueryConfig = mockQueryService.mockGetSingleItem(warriorMovieJson, { linkResolver: function (link) { return 'querySlug/' + link.urlSlug; } }); done(); }); it("verifies globally defined url slug resolver", function () { expect(response.item.seoname.getUrl()).toEqual('globalSlug/warrior'); }); it("verifies locally defined url slug resolver (should have priority over global one)", function () { expect(responseWithQueryConfig.item.seoname.getUrl()).toEqual('querySlug/warrior'); }); }); //# sourceMappingURL=url-slug-resolver.spec.js.map