From 43594e03fdc430e10b210abe7963ed26d2f72a40 Mon Sep 17 00:00:00 2001 From: tobias Date: Tue, 19 Sep 2023 14:19:43 +0200 Subject: [PATCH] test(common): added a test for the @param decorator metadata --- .../decorators/route-params.decorator.spec.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/common/test/decorators/route-params.decorator.spec.ts b/packages/common/test/decorators/route-params.decorator.spec.ts index 93c26ab09cc..3c4eabf5cbd 100644 --- a/packages/common/test/decorators/route-params.decorator.spec.ts +++ b/packages/common/test/decorators/route-params.decorator.spec.ts @@ -1,7 +1,9 @@ import { expect } from 'chai'; import { Body, HostParam, Param, Query, Search } from '../../decorators'; import { RequestMethod } from '../../enums/request-method.enum'; -import { All, Delete, Get, Patch, Post, Put } from '../../index'; +import { All, Delete, Get, ParseIntPipe, Patch, Post, Put } from '../../index'; +import { ROUTE_ARGS_METADATA } from '../../constants'; +import { RouteParamtypes } from '../../enums/route-paramtypes.enum'; describe('@Get', () => { const requestPath = 'test'; @@ -19,18 +21,28 @@ describe('@Get', () => { it('should enhance class with expected request metadata', () => { class Test { @Get(requestPath) - public static test(@Param('id') params) {} + public static test(@Param('id', ParseIntPipe) params) {} @Get(requestPathUsingArray) public static testUsingArray(@Param('id') params) {} } const path = Reflect.getMetadata('path', Test.test); + const args = Reflect.getMetadata( + ROUTE_ARGS_METADATA, + Test.constructor, + 'test', + ); const method = Reflect.getMetadata('method', Test.test); const pathUsingArray = Reflect.getMetadata('path', Test.testUsingArray); const methodUsingArray = Reflect.getMetadata('method', Test.testUsingArray); expect(path).to.be.eql(requestPath); + expect(args[`${RouteParamtypes.PARAM}:0`]).to.be.eql({ + index: 0, + data: 'id', + pipes: [ParseIntPipe], + }); expect(method).to.be.eql(requestProps.method); expect(pathUsingArray).to.be.eql(requestPathUsingArray); expect(methodUsingArray).to.be.eql(requestPropsUsingArray.method);