kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
54 lines • 2.4 kB
JavaScript
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