nralcm
Version:
This is a framework based on NodeJs to manage rest api request lifecycle
46 lines (45 loc) • 2.08 kB
JavaScript
;
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);
});
});