@specifai-net/appsync-template-tester
Version:
Unit test AppSync VTL resolvers, with popular frameworks such as Jest
23 lines • 3.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const to_json_1 = require("../to-json");
describe("Velocity - ValueMapper toJSON", () => {
it("should call toJSON if the value object has method toJSON", () => {
const JSON_VALUE = "MOCK_JSON_VALUE";
const testObj = {
toJSON: jest.fn().mockReturnValue(JSON_VALUE),
};
expect((0, to_json_1.toJSON)(testObj)).toEqual(JSON_VALUE);
expect(testObj.toJSON).toHaveBeenCalled();
});
it("should not call toJSON if the object is null", () => {
expect((0, to_json_1.toJSON)(null)).toEqual(null);
});
it("should return the source object if it doesnot implement toJSON", () => {
const testObj = {
foo: "Foo",
};
expect((0, to_json_1.toJSON)(testObj)).toEqual(testObj);
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tanNvbi50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZhbHVlLW1hcHBlci90ZXN0cy90by1qc29uLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx3Q0FBb0M7QUFFcEMsUUFBUSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtJQUM3QyxFQUFFLENBQUMsMERBQTBELEVBQUUsR0FBRyxFQUFFO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1NBQzlDLENBQUM7UUFDRixNQUFNLENBQUMsSUFBQSxnQkFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxDQUFDLElBQUEsZ0JBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxnRUFBZ0UsRUFBRSxHQUFHLEVBQUU7UUFDeEUsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLEVBQUUsS0FBSztTQUNYLENBQUM7UUFDRixNQUFNLENBQUMsSUFBQSxnQkFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0pTT04gfSBmcm9tIFwiLi4vdG8tanNvblwiO1xuXG5kZXNjcmliZShcIlZlbG9jaXR5IC0gVmFsdWVNYXBwZXIgdG9KU09OXCIsICgpID0+IHtcbiAgaXQoXCJzaG91bGQgY2FsbCB0b0pTT04gaWYgdGhlIHZhbHVlIG9iamVjdCBoYXMgbWV0aG9kIHRvSlNPTlwiLCAoKSA9PiB7XG4gICAgY29uc3QgSlNPTl9WQUxVRSA9IFwiTU9DS19KU09OX1ZBTFVFXCI7XG4gICAgY29uc3QgdGVzdE9iaiA9IHtcbiAgICAgIHRvSlNPTjogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShKU09OX1ZBTFVFKSxcbiAgICB9O1xuICAgIGV4cGVjdCh0b0pTT04odGVzdE9iaikpLnRvRXF1YWwoSlNPTl9WQUxVRSk7XG4gICAgZXhwZWN0KHRlc3RPYmoudG9KU09OKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gIH0pO1xuXG4gIGl0KFwic2hvdWxkIG5vdCBjYWxsIHRvSlNPTiBpZiB0aGUgb2JqZWN0IGlzIG51bGxcIiwgKCkgPT4ge1xuICAgIGV4cGVjdCh0b0pTT04obnVsbCkpLnRvRXF1YWwobnVsbCk7XG4gIH0pO1xuXG4gIGl0KFwic2hvdWxkIHJldHVybiB0aGUgc291cmNlIG9iamVjdCBpZiBpdCBkb2Vzbm90IGltcGxlbWVudCB0b0pTT05cIiwgKCkgPT4ge1xuICAgIGNvbnN0IHRlc3RPYmogPSB7XG4gICAgICBmb286IFwiRm9vXCIsXG4gICAgfTtcbiAgICBleHBlY3QodG9KU09OKHRlc3RPYmopKS50b0VxdWFsKHRlc3RPYmopO1xuICB9KTtcbn0pO1xuIl19