UNPKG

nralcm

Version:

This is a framework based on NodeJs to manage rest api request lifecycle

46 lines (45 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("mocha"); const chai_1 = require("chai"); const product_controller_1 = require("../../controllers/product.controller"); const __1 = require(".."); const common_1 = require("../../common"); describe("ModelValidationHandler", () => { it("validate, Didn't set param so it will return 3 errors for params", () => { let request = {}; let response = {}; let httpContext = new __1.HttpContext(request, response); httpContext.controller = product_controller_1.ProductController; let type = product_controller_1.ProductController; httpContext.controllerObject = new type(); let routeDescriptor = { methodName: "getProduct", httpMethod: common_1.HttpMethod.GET }; let modelValidationHandler = new __1.ModelValidationHandler(); let errors = modelValidationHandler.validate(httpContext, routeDescriptor); chai_1.expect(errors.length).to.equal(3); }); it("validate, setting param so it will not return any error for params", () => { let request = {}; let response = {}; let httpContext = new __1.HttpContext(request, response); httpContext.controller = product_controller_1.ProductController; let type = product_controller_1.ProductController; httpContext.controllerObject = new type(); let routeDescriptor = { methodName: "getProduct", httpMethod: common_1.HttpMethod.GET }; let paramData = [ { paramName: "id", paramValue: 1 }, { paramName: "sd", paramValue: 3 }, { paramName: "abc", paramValue: "scs" } ]; Reflect.defineMetadata(__1.Constants.metadata.routeParams, paramData, httpContext.controllerObject, "getProduct"); let modelValidationHandler = new __1.ModelValidationHandler(); let errors = modelValidationHandler.validate(httpContext, routeDescriptor); chai_1.expect(errors.length).to.equal(0); }); });