UNPKG

@specifai-net/appsync-template-tester

Version:

Unit test AppSync VTL resolvers, with popular frameworks such as Jest

70 lines 10.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const array_1 = require("../array"); const identityMapper = jest.fn((v) => v); describe(" Velocity ValueMapper JavaArray", () => { beforeEach(() => { jest.clearAllMocks(); }); it("Should initialize from JS Array", () => { const JS_ARRAY = [1, 2, 3]; const arr = new array_1.JavaArray(JS_ARRAY, identityMapper); expect(arr.toJSON()).toEqual(JS_ARRAY); }); it("size", () => { const JS_ARRAY = [1, 2, 3]; const arr = new array_1.JavaArray(JS_ARRAY, identityMapper); expect(arr.size()).toEqual(JS_ARRAY.length); }); it("isEmpty", () => { expect(new array_1.JavaArray([1, 2, 3], identityMapper).isEmpty()).toBeFalsy(); expect(new array_1.JavaArray([], identityMapper).isEmpty()).toBeTruthy(); }); it("add", () => { const arr = new array_1.JavaArray([], identityMapper); arr.add(1); expect(arr.size()).toEqual(1); expect(arr.toJSON()).toEqual([1]); }); it("addAll", () => { const NEW_ARR = [1, 2, 3]; const arr = new array_1.JavaArray([], identityMapper); arr.addAll(NEW_ARR); expect(identityMapper).toBeCalledTimes(NEW_ARR.length); expect(arr.size()).toEqual(NEW_ARR.length); expect(arr.toJSON()).toEqual(NEW_ARR); }); it("clear", () => { const NEW_ARR = [1, 2, 3]; const arr = new array_1.JavaArray(NEW_ARR, identityMapper); expect(arr.size()).toEqual(NEW_ARR.length); arr.clear(); expect(arr.toJSON()).toEqual([]); }); it("contains", () => { const NEW_ARR = [1, 2, 3]; const arr = new array_1.JavaArray(NEW_ARR, identityMapper); expect(arr.contains(1)).toBeTruthy(); expect(arr.contains("Z")).toBeFalsy(); }); it("containsAll", () => { const NEW_ARR = [1, 2, 3]; const arr = new array_1.JavaArray(NEW_ARR, identityMapper); expect(arr.containsAll(NEW_ARR)).toBeTruthy(); expect(arr.containsAll([2])).toBeTruthy(); expect(arr.containsAll([...NEW_ARR, "Z"])).toBeFalsy(); }); it("remove", () => { const NEW_ARR = [1, 2, 3]; const arr = new array_1.JavaArray(NEW_ARR, identityMapper); arr.remove(3); expect(arr.toJSON()).toEqual([1, 2]); }); it("removeAll", () => { const NEW_ARR = [1, 2, 3]; const arr = new array_1.JavaArray(NEW_ARR, identityMapper); arr.removeAll([3, 2]); expect(arr.toJSON()).toEqual([1]); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWx1ZS1tYXBwZXIvdGVzdHMvYXJyYXkudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9DQUFxQztBQUVyQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV6QyxRQUFRLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO0lBQy9DLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDSCxFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFTLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNkLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFTLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7UUFDakIsTUFB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QyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEphdmFBcnJheSB9IGZyb20gXCIuLi9hcnJheVwiO1xuXG5jb25zdCBpZGVudGl0eU1hcHBlciA9IGplc3QuZm4oKHYpID0+IHYpO1xuXG5kZXNjcmliZShcIiBWZWxvY2l0eSBWYWx1ZU1hcHBlciBKYXZhQXJyYXlcIiwgKCkgPT4ge1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBqZXN0LmNsZWFyQWxsTW9ja3MoKTtcbiAgfSk7XG4gIGl0KFwiU2hvdWxkIGluaXRpYWxpemUgZnJvbSBKUyBBcnJheVwiLCAoKSA9PiB7XG4gICAgY29uc3QgSlNfQVJSQVkgPSBbMSwgMiwgM107XG4gICAgY29uc3QgYXJyID0gbmV3IEphdmFBcnJheShKU19BUlJBWSwgaWRlbnRpdHlNYXBwZXIpO1xuICAgIGV4cGVjdChhcnIudG9KU09OKCkpLnRvRXF1YWwoSlNfQVJSQVkpO1xuICB9KTtcblxuICBpdChcInNpemVcIiwgKCkgPT4ge1xuICAgIGNvbnN0IEpTX0FSUkFZID0gWzEsIDIsIDNdO1xuICAgIGNvbnN0IGFyciA9IG5ldyBKYXZhQXJyYXkoSlNfQVJSQVksIGlkZW50aXR5TWFwcGVyKTtcbiAgICBleHBlY3QoYXJyLnNpemUoKSkudG9FcXVhbChKU19BUlJBWS5sZW5ndGgpO1xuICB9KTtcblxuICBpdChcImlzRW1wdHlcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChuZXcgSmF2YUFycmF5KFsxLCAyLCAzXSwgaWRlbnRpdHlNYXBwZXIpLmlzRW1wdHkoKSkudG9CZUZhbHN5KCk7XG4gICAgZXhwZWN0KG5ldyBKYXZhQXJyYXkoW10sIGlkZW50aXR5TWFwcGVyKS5pc0VtcHR5KCkpLnRvQmVUcnV0aHkoKTtcbiAgfSk7XG5cbiAgaXQoXCJhZGRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGFyciA9IG5ldyBKYXZhQXJyYXkoW10sIGlkZW50aXR5TWFwcGVyKTtcbiAgICBhcnIuYWRkKDEpO1xuICAgIGV4cGVjdChhcnIuc2l6ZSgpKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChhcnIudG9KU09OKCkpLnRvRXF1YWwoWzFdKTtcbiAgfSk7XG5cbiAgaXQoXCJhZGRBbGxcIiwgKCkgPT4ge1xuICAgIGNvbnN0IE5FV19BUlIgPSBbMSwgMiwgM107XG4gICAgY29uc3QgYXJyID0gbmV3IEphdmFBcnJheShbXSwgaWRlbnRpdHlNYXBwZXIpO1xuICAgIGFyci5hZGRBbGwoTkVXX0FSUik7XG4gICAgZXhwZWN0KGlkZW50aXR5TWFwcGVyKS50b0JlQ2FsbGVkVGltZXMoTkVXX0FSUi5sZW5ndGgpO1xuICAgIGV4cGVjdChhcnIuc2l6ZSgpKS50b0VxdWFsKE5FV19BUlIubGVuZ3RoKTtcbiAgICBleHBlY3QoYXJyLnRvSlNPTigpKS50b0VxdWFsKE5FV19BUlIpO1xuICB9KTtcblxuICBpdChcImNsZWFyXCIsICgpID0+IHtcbiAgICBjb25zdCBORVdfQVJSID0gWzEsIDIsIDNdO1xuICAgIGNvbnN0IGFyciA9IG5ldyBKYXZhQXJyYXkoTkVXX0FSUiwgaWRlbnRpdHlNYXBwZXIpO1xuICAgIGV4cGVjdChhcnIuc2l6ZSgpKS50b0VxdWFsKE5FV19BUlIubGVuZ3RoKTtcbiAgICBhcnIuY2xlYXIoKTtcbiAgICBleHBlY3QoYXJyLnRvSlNPTigpKS50b0VxdWFsKFtdKTtcbiAgfSk7XG5cbiAgaXQoXCJjb250YWluc1wiLCAoKSA9PiB7XG4gICAgY29uc3QgTkVXX0FSUiA9IFsxLCAyLCAzXTtcbiAgICBjb25zdCBhcnIgPSBuZXcgSmF2YUFycmF5KE5FV19BUlIsIGlkZW50aXR5TWFwcGVyKTtcbiAgICBleHBlY3QoYXJyLmNvbnRhaW5zKDEpKS50b0JlVHJ1dGh5KCk7XG4gICAgZXhwZWN0KGFyci5jb250YWlucyhcIlpcIikpLnRvQmVGYWxzeSgpO1xuICB9KTtcblxuICBpdChcImNvbnRhaW5zQWxsXCIsICgpID0+IHtcbiAgICBjb25zdCBORVdfQVJSID0gWzEsIDIsIDNdO1xuICAgIGNvbnN0IGFyciA9IG5ldyBKYXZhQXJyYXkoTkVXX0FSUiwgaWRlbnRpdHlNYXBwZXIpO1xuICAgIGV4cGVjdChhcnIuY29udGFpbnNBbGwoTkVXX0FSUikpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QoYXJyLmNvbnRhaW5zQWxsKFsyXSkpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QoYXJyLmNvbnRhaW5zQWxsKFsuLi5ORVdfQVJSLCBcIlpcIl0pKS50b0JlRmFsc3koKTtcbiAgfSk7XG5cbiAgaXQoXCJyZW1vdmVcIiwgKCkgPT4ge1xuICAgIGNvbnN0IE5FV19BUlIgPSBbMSwgMiwgM107XG4gICAgY29uc3QgYXJyID0gbmV3IEphdmFBcnJheShORVdfQVJSLCBpZGVudGl0eU1hcHBlcik7XG4gICAgYXJyLnJlbW92ZSgzKTtcbiAgICBleHBlY3QoYXJyLnRvSlNPTigpKS50b0VxdWFsKFsxLCAyXSk7XG4gIH0pO1xuXG4gIGl0KFwicmVtb3ZlQWxsXCIsICgpID0+IHtcbiAgICBjb25zdCBORVdfQVJSID0gWzEsIDIsIDNdO1xuICAgIGNvbnN0IGFyciA9IG5ldyBKYXZhQXJyYXkoTkVXX0FSUiwgaWRlbnRpdHlNYXBwZXIpO1xuICAgIGFyci5yZW1vdmVBbGwoWzMsIDJdKTtcbiAgICBleHBlY3QoYXJyLnRvSlNPTigpKS50b0VxdWFsKFsxXSk7XG4gIH0pO1xufSk7XG4iXX0=