kentico-cloud-delivery
Version:
Official Kentico Cloud Delivery SDK
264 lines • 12.7 kB
JavaScript
exports.__esModule = true;
var lib_1 = require("../../../lib");
var setup_1 = require("../../setup");
describe('Item url filters', function () {
var context = new setup_1.Context();
setup_1.setup(context);
it("type filter with single string should be set", function () {
var type = 'TypeA';
var url = new URL(context.deliveryClient.items()
.type(type)
.getUrl());
var param = url.searchParams.get('system.type');
expect(param).toEqual(type);
});
it("type filter with multiple strings should be set", function () {
var typeA = 'TypeA';
var typeB = 'TypeB';
var types = [typeA, typeB];
var url = new URL(context.deliveryClient.items()
.types(types)
.getUrl());
var param = url.searchParams.get('system.type[in]');
expect(param).toEqual(typeA + "," + typeB);
});
it("inFilter with single value should be set", function () {
var url = new URL(context.deliveryClient.items()
.inFilter('elem1', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[in]');
expect(param).toEqual('val1');
});
it("inFilter with multiple values should be set", function () {
var url = new URL(context.deliveryClient.items()
.inFilter('elem1', ['val1', 'val2'])
.getUrl());
var param = url.searchParams.get('elem1[in]');
expect(param).toEqual('val1,val2');
});
it("anyFilter with single value should be set", function () {
var url = new URL(context.deliveryClient.items()
.anyFilter('elem1', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[any]');
expect(param).toEqual('val1');
});
it("anyFilter with multiple values should be set", function () {
var url = new URL(context.deliveryClient.items()
.anyFilter('elem1', ['val1', 'val2'])
.getUrl());
var param = url.searchParams.get('elem1[any]');
expect(param).toEqual('val1,val2');
});
it("containsFilter with single value should be set", function () {
var url = new URL(context.deliveryClient.items()
.containsFilter('elem1', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[contains]');
expect(param).toEqual('val1');
});
it("containsFilter with multiple value should be set", function () {
var url = new URL(context.deliveryClient.items()
.containsFilter('elem1', ['val1', 'val2'])
.getUrl());
var param = url.searchParams.get('elem1[contains]');
expect(param).toEqual('val1,val2');
});
it("equalsFilter should be set", function () {
var url = new URL(context.deliveryClient.items()
.equalsFilter('elem1', 'val1')
.getUrl());
var param = url.searchParams.get('elem1');
expect(param).toEqual('val1');
});
it("greaterThanFilter should be set", function () {
var url = new URL(context.deliveryClient.items()
.greaterThanFilter('elem1', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[gt]');
expect(param).toEqual('val1');
});
it("greaterThanOrEqualFilter should be set", function () {
var url = new URL(context.deliveryClient.items()
.greaterThanOrEqualFilter('elem1', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[gte]');
expect(param).toEqual('val1');
});
it("lessThanFilter should be set", function () {
var url = new URL(context.deliveryClient.items()
.lessThanFilter('elem1', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[lt]');
expect(param).toEqual('val1');
});
it("lessThanOrEqualFilter should be set", function () {
var url = new URL(context.deliveryClient.items()
.lessThanOrEqualFilter('elem1', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[lte]');
expect(param).toEqual('val1');
});
it("allFilter with single value should be set", function () {
var url = new URL(context.deliveryClient.items()
.allFilter('elem1', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[all]');
expect(param).toEqual('val1');
});
it("allFilter with multiple values should be set", function () {
var url = new URL(context.deliveryClient.items()
.allFilter('elem1', ['val1', 'val2'])
.getUrl());
var param = url.searchParams.get('elem1[all]');
expect(param).toEqual('val1,val2');
});
it("rangeFilter should be set", function () {
var url = new URL(context.deliveryClient.items()
.rangeFilter('elem1', 1, 10)
.getUrl());
var param = url.searchParams.get('elem1[range]');
expect(param).toEqual('1,10');
});
it("rangeFilter should throw error when higher value is lower then lower value", function () {
expect(function () { return context.deliveryClient.items().rangeFilter('elem1', 10, 1); }).toThrowError();
});
// Null parameter checks
it("inFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().inFilter(null, ['val1']); }).toThrowError();
});
it("anyFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().anyFilter(null, ['val1']); }).toThrowError();
});
it("containsFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().containsFilter(null, ['val1']); }).toThrowError();
});
it("greaterThanFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().greaterThanFilter(null, 'val1'); }).toThrowError();
});
it("greaterThanOrEqualFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().greaterThanOrEqualFilter(null, 'val1'); }).toThrowError();
});
it("lessThanFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().lessThanFilter(null, 'val1'); }).toThrowError();
});
it("lessThanOrEqualFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().lessThanOrEqualFilter(null, 'val1'); }).toThrowError();
});
it("allFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().allFilter(null, []); }).toThrowError();
});
it("rangeFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().rangeFilter(null, 1, 4); }).toThrowError();
});
it("equalsFilter without field should throw an error", function () {
expect(function () { return context.deliveryClient.items().equalsFilter(null, 'val1'); }).toThrowError();
});
// null value checks
it("EqualsFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.EqualsFilter('f', undefined).getParamValue()).toEqual('');
});
it("AllFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.AllFilter('f', undefined).getParamValue()).toEqual('');
});
it("AnyFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.AnyFilter('f', undefined).getParamValue()).toEqual('');
});
it("ContainsFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.ContainsFilter('f', undefined).getParamValue()).toEqual('');
});
it("GreaterThanFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.GreaterThanFilter('f', undefined).getParamValue()).toEqual('');
});
it("GreaterThanOrEqualFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.GreaterThanOrEqualFilter('f', undefined).getParamValue()).toEqual('');
});
it("Infilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.Infilter('f', undefined).getParamValue()).toEqual('');
});
it("LessThanFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.LessThanFilter('f', undefined).getParamValue()).toEqual('');
});
it("LessThanOrEqualFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.LessThanOrEqualFilter('f', undefined).getParamValue()).toEqual('');
});
it("RangeFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.RangeFilter('f', undefined, 3).getParamValue()).toEqual(',3');
});
it("RangeFilter without value should return empty string as param value", function () {
expect(new lib_1.Filters.RangeFilter('f', 3, undefined).getParamValue()).toEqual('3,');
});
// trim checks
it("inFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.inFilter(' elem1 ', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[in]');
expect(param).toEqual('val1');
});
it("allFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.allFilter(' elem1 ', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[all]');
expect(param).toEqual('val1');
});
it("anyFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.anyFilter(' elem1 ', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[any]');
expect(param).toEqual('val1');
});
it("containsFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.containsFilter(' elem1 ', ['val1'])
.getUrl());
var param = url.searchParams.get('elem1[contains]');
expect(param).toEqual('val1');
});
it("equalsFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.equalsFilter(' elem1 ', 'val1')
.getUrl());
var param = url.searchParams.get('elem1');
expect(param).toEqual('val1');
});
it("greaterThanFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.greaterThanFilter(' elem1 ', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[gt]');
expect(param).toEqual('val1');
});
it("greaterThanOrEqualFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.greaterThanOrEqualFilter(' elem1 ', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[gte]');
expect(param).toEqual('val1');
});
it("lessThanFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.lessThanFilter(' elem1 ', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[lt]');
expect(param).toEqual('val1');
});
it("lessThanOrEqualFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.lessThanOrEqualFilter(' elem1 ', 'val1')
.getUrl());
var param = url.searchParams.get('elem1[lte]');
expect(param).toEqual('val1');
});
it("rangeFilter should trim its field", function () {
var url = new URL(context.deliveryClient.items()
.rangeFilter(' elem1 ', 1, 10)
.getUrl());
var param = url.searchParams.get('elem1[range]');
expect(param).toEqual('1,10');
});
});
//# sourceMappingURL=item-filters.js.map
;