@tsed/platform-test-sdk 7.18.3-rc.1 → 7.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.eslintignore +13 -0
  2. package/.eslintrc.js +1 -0
  3. package/lib/cjs/components/PlatformTestSdk.js.map +1 -1
  4. package/lib/cjs/data/response.data.json +3 -0
  5. package/lib/cjs/errors/CustomBadRequest.js.map +1 -1
  6. package/lib/cjs/errors/CustomInternalError.js.map +1 -1
  7. package/lib/cjs/index.js.map +1 -1
  8. package/lib/cjs/interfaces/PlatformTestingSdkOpts.js.map +1 -1
  9. package/lib/cjs/interfaces/index.js.map +1 -1
  10. package/lib/cjs/modules/feature/FeatureModule.js.map +1 -1
  11. package/lib/cjs/modules/feature/controllers/FeatureController.js.map +1 -1
  12. package/lib/cjs/tests/exports.js.map +1 -1
  13. package/lib/cjs/tests/testAcceptMime.js.map +1 -1
  14. package/lib/cjs/tests/testAuth.js.map +1 -1
  15. package/lib/cjs/tests/testBodyParams.js +12 -12
  16. package/lib/cjs/tests/testBodyParams.js.map +1 -1
  17. package/lib/cjs/tests/testCache.js.map +1 -1
  18. package/lib/cjs/tests/testChildrenControllers.js.map +1 -1
  19. package/lib/cjs/tests/testCookies.js.map +1 -1
  20. package/lib/cjs/tests/testCtrlInheritance.js.map +1 -1
  21. package/lib/cjs/tests/testCustom404.js.map +1 -1
  22. package/lib/cjs/tests/testErrors.js.map +1 -1
  23. package/lib/cjs/tests/testHandlers.js.map +1 -1
  24. package/lib/cjs/tests/testHeaderParams.js.map +1 -1
  25. package/lib/cjs/tests/testHeaders.js.map +1 -1
  26. package/lib/cjs/tests/testInheritanceController.js.map +1 -1
  27. package/lib/cjs/tests/testLocals.js.map +1 -1
  28. package/lib/cjs/tests/testLocation.js.map +1 -1
  29. package/lib/cjs/tests/testMiddlewares.js.map +1 -1
  30. package/lib/cjs/tests/testModule.js.map +1 -1
  31. package/lib/cjs/tests/testMulter.js +13 -6
  32. package/lib/cjs/tests/testMulter.js.map +1 -1
  33. package/lib/cjs/tests/testPathParams.js.map +1 -1
  34. package/lib/cjs/tests/testQueryParams.js.map +1 -1
  35. package/lib/cjs/tests/testRedirect.js.map +1 -1
  36. package/lib/cjs/tests/testResponse.js.map +1 -1
  37. package/lib/cjs/tests/testResponseFilter.js.map +1 -1
  38. package/lib/cjs/tests/testRouting.js.map +1 -1
  39. package/lib/cjs/tests/testScopeRequest.js.map +1 -1
  40. package/lib/cjs/tests/testSession.js.map +1 -1
  41. package/lib/cjs/tests/testStatics.js.map +1 -1
  42. package/lib/cjs/tests/testView.js.map +1 -1
  43. package/lib/esm/components/PlatformTestSdk.js.map +1 -1
  44. package/lib/esm/data/response.data.json +3 -0
  45. package/lib/esm/errors/CustomBadRequest.js.map +1 -1
  46. package/lib/esm/errors/CustomInternalError.js.map +1 -1
  47. package/lib/esm/index.js.map +1 -1
  48. package/lib/esm/interfaces/PlatformTestingSdkOpts.js.map +1 -1
  49. package/lib/esm/interfaces/index.js.map +1 -1
  50. package/lib/esm/modules/feature/FeatureModule.js.map +1 -1
  51. package/lib/esm/modules/feature/controllers/FeatureController.js.map +1 -1
  52. package/lib/esm/tests/exports.js.map +1 -1
  53. package/lib/esm/tests/testAcceptMime.js.map +1 -1
  54. package/lib/esm/tests/testAuth.js.map +1 -1
  55. package/lib/esm/tests/testBodyParams.js +2 -2
  56. package/lib/esm/tests/testBodyParams.js.map +1 -1
  57. package/lib/esm/tests/testCache.js.map +1 -1
  58. package/lib/esm/tests/testChildrenControllers.js.map +1 -1
  59. package/lib/esm/tests/testCookies.js.map +1 -1
  60. package/lib/esm/tests/testCtrlInheritance.js.map +1 -1
  61. package/lib/esm/tests/testCustom404.js.map +1 -1
  62. package/lib/esm/tests/testErrors.js.map +1 -1
  63. package/lib/esm/tests/testHandlers.js.map +1 -1
  64. package/lib/esm/tests/testHeaderParams.js.map +1 -1
  65. package/lib/esm/tests/testHeaders.js.map +1 -1
  66. package/lib/esm/tests/testInheritanceController.js.map +1 -1
  67. package/lib/esm/tests/testLocals.js.map +1 -1
  68. package/lib/esm/tests/testLocation.js.map +1 -1
  69. package/lib/esm/tests/testMiddlewares.js.map +1 -1
  70. package/lib/esm/tests/testModule.js.map +1 -1
  71. package/lib/esm/tests/testMulter.js +12 -5
  72. package/lib/esm/tests/testMulter.js.map +1 -1
  73. package/lib/esm/tests/testPathParams.js.map +1 -1
  74. package/lib/esm/tests/testQueryParams.js.map +1 -1
  75. package/lib/esm/tests/testRedirect.js.map +1 -1
  76. package/lib/esm/tests/testResponse.js.map +1 -1
  77. package/lib/esm/tests/testResponseFilter.js.map +1 -1
  78. package/lib/esm/tests/testRouting.js.map +1 -1
  79. package/lib/esm/tests/testScopeRequest.js.map +1 -1
  80. package/lib/esm/tests/testSession.js.map +1 -1
  81. package/lib/esm/tests/testStatics.js.map +1 -1
  82. package/lib/esm/tests/testView.js.map +1 -1
  83. package/lib/tsconfig.esm.tsbuildinfo +1 -0
  84. package/lib/tsconfig.tsbuildinfo +1 -0
  85. package/package.json +25 -22
  86. package/src/tests/testBodyParams.ts +2 -2
  87. package/src/tests/testMulter.ts +16 -8
  88. package/tsconfig.esm.json +63 -0
  89. package/tsconfig.json +63 -0
  90. package/tsconfig.compile.esm.json +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"testCache.js","sourceRoot":"","sources":["../../../src/tests/testCache.ts"],"names":[],"mappings":"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","sourcesContent":["import {Controller, Get, Head, Inject, PathParams, PlatformTest, Post, QueryParams} from \"@tsed/common\";\nimport {UseCache, PlatformCache} from \"@tsed/platform-cache\";\nimport {Property} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\nlet increment = 0;\n\nexport function testCache(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n class MyModel {\n @Property()\n name: string;\n }\n\n class MyService {\n @UseCache({\n key: \"key\"\n })\n get(id: string) {\n return {id: `one:${id}`};\n }\n\n @UseCache({\n key(args: any[]) {\n return `key:${args[0]}`;\n }\n })\n get2(id: string) {\n return {id: `one:${id}`};\n }\n }\n\n @Controller(\"/caches\")\n class TestCacheController {\n @Inject()\n myService: MyService;\n\n @Get(\"/scenario-1\")\n @UseCache()\n scenario1() {\n increment++;\n return \"hello world \" + increment;\n }\n\n @Get(\"/scenario-2\")\n @UseCache({ttl: 400})\n scenario2() {\n return {info: \"hello child\"};\n }\n\n @Head(\"/scenario-3\")\n @UseCache()\n scenario3() {\n return undefined;\n }\n\n @Post(\"/scenario-4\")\n @UseCache()\n scenario4() {\n return {info: \"hello child\"};\n }\n\n @Get(\"/scenario-5/:id\")\n @UseCache({ttl: 400})\n scenario5(@PathParams(\"id\") id: string, @QueryParams() model: MyModel) {\n return {info: \"hello child\", id, ...model};\n }\n\n @Get(\"/scenario-6/:id\")\n scenario6(@PathParams(\"id\") id: string) {\n return this.myService.get(id);\n }\n\n @Get(\"/scenario-7/:id\")\n scenario7(@PathParams(\"id\") id: string) {\n return this.myService.get2(id);\n }\n }\n\n describe(\"withCache\", () => {\n beforeEach(\n PlatformTest.bootstrap(options.server, {\n ...options,\n logger: {},\n mount: {\n \"/rest\": [TestCacheController]\n },\n cache: {\n ttl: 300,\n store: \"memory\"\n }\n })\n );\n beforeEach(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterEach(PlatformTest.reset);\n\n describe(\"scenario 1: GET /rest/caches/scenario-1\", () => {\n it(\"should return data with cached response\", async () => {\n const response = await request.get(\"/rest/caches/scenario-1\").expect(200);\n const response2 = await request.get(\"/rest/caches/scenario-1\").expect(200);\n\n expect(response.text).toContain(\"hello world\");\n expect(response.headers[\"cache-control\"]).toMatch(/max-age=300/);\n expect(response.headers[\"x-cached\"]).toBeUndefined();\n\n expect(response2.text).toContain(\"hello world\");\n expect(response2.headers[\"cache-control\"]).toMatch(/max-age=300/);\n expect(response2.headers[\"x-cached\"]).toEqual(\"true\");\n expect(response2.headers[\"etag\"]).toEqual(response.headers[\"etag\"]);\n });\n\n it(\"should return 304 when content isn't modified\", async () => {\n const platformCache = PlatformTest.get<PlatformCache>(PlatformCache);\n\n const response = await request.get(\"/rest/caches/scenario-1\").expect(200);\n\n await request.get(\"/rest/caches/scenario-1\").set(\"if-none-match\", response.headers[\"etag\"]).expect(304);\n\n await platformCache.reset();\n\n await request.get(\"/rest/caches/scenario-1\").set(\"if-none-match\", response.headers[\"etag\"]).expect(200);\n });\n\n it(\"should return fresh data if cache-control is set to no-cache\", async () => {\n await request.get(\"/rest/caches/scenario-1\").expect(200);\n const response2 = await request.get(\"/rest/caches/scenario-1\").set(\"cache-control\", \"no-cache\").expect(200);\n\n expect(response2.text).toContain(\"hello world\");\n expect(response2.headers[\"cache-control\"]).toMatch(/max-age=300/);\n expect(response2.headers[\"x-cached\"]).toBeUndefined();\n expect(response2.headers[\"etag\"]).toEqual(response2.headers[\"etag\"]);\n });\n });\n describe(\"scenario 2: GET /rest/caches/scenario-2\", () => {\n it(\"should return data with cached response\", async () => {\n const response = await request.get(\"/rest/caches/scenario-2\").expect(200);\n const response2 = await request.get(\"/rest/caches/scenario-2\").expect(200);\n\n expect(response.body).toEqual({info: \"hello child\"});\n expect(response.headers[\"cache-control\"]).toMatch(/max-age=400/);\n expect(response.headers[\"x-cached\"]).toBeUndefined();\n\n expect(response2.body).toEqual({info: \"hello child\"});\n expect(response2.headers[\"cache-control\"]).toMatch(/max-age=400/);\n expect(response2.headers[\"x-cached\"]).toEqual(\"true\");\n expect(response2.headers[\"etag\"]).toEqual(response.headers[\"etag\"]);\n });\n });\n describe(\"scenario 4: POST /rest/caches/scenario-4\", () => {\n it(\"should not cache POST method\", async () => {\n const response = await request.post(\"/rest/caches/scenario-4\").expect(200);\n const response2 = await request.post(\"/rest/caches/scenario-4\").expect(200);\n\n expect(response.body).toEqual({\n info: \"hello child\"\n });\n expect(response.headers[\"cache-control\"]).toBeUndefined();\n expect(response.headers[\"x-cached\"]).toBeUndefined();\n\n expect(response2.body).toEqual({\n info: \"hello child\"\n });\n expect(response.headers[\"cache-control\"]).toBeUndefined();\n expect(response2.headers[\"x-cached\"]).toBeUndefined();\n expect(response2.headers[\"etag\"]).toEqual(response.headers[\"etag\"]);\n });\n });\n describe(\"scenario 5: GET /rest/caches/scenario-5\", () => {\n it(\"should return data with then cache response\", async () => {\n const response = await request.get(\"/rest/caches/scenario-5/1?name=1\").expect(200);\n const response2 = await request.get(\"/rest/caches/scenario-5/1?name=1\").expect(200);\n const response3 = await request.get(\"/rest/caches/scenario-5/2?name=2\").expect(200);\n const response4 = await request.get(\"/rest/caches/scenario-5/2?name=2\").expect(200);\n const response5 = await request.get(\"/rest/caches/scenario-5/2?name=3\").expect(200);\n\n expect(response.body).toEqual({\n id: \"1\",\n info: \"hello child\",\n name: \"1\"\n });\n expect(response2.body).toEqual({\n id: \"1\",\n info: \"hello child\",\n name: \"1\"\n });\n expect(response.headers[\"x-cached\"]).toBeUndefined();\n expect(response2.headers[\"x-cached\"]).toEqual(\"true\");\n expect(response.body).toEqual(response2.body);\n\n expect(response3.body).toEqual({\n id: \"2\",\n info: \"hello child\",\n name: \"2\"\n });\n expect(response4.body).toEqual({\n id: \"2\",\n info: \"hello child\",\n name: \"2\"\n });\n expect(response3.headers[\"x-cached\"]).toBeUndefined();\n expect(response4.headers[\"x-cached\"]).toEqual(\"true\");\n expect(response3.body).toEqual(response4.body);\n\n expect(response2.body).not.toEqual(response4);\n expect(response5.body).not.toEqual(response4);\n });\n });\n describe(\"scenario 6: GET /rest/caches/scenario-6\", () => {\n it(\"should return data from cached service\", async () => {\n const response = await request.get(\"/rest/caches/scenario-6/1\").expect(200);\n const response2 = await request.get(\"/rest/caches/scenario-6/2\").expect(200);\n\n expect(response.body).toEqual({id: \"one:1\"});\n expect(response2.body).toEqual({id: \"one:1\"});\n expect(response.headers[\"x-cached\"]).toBeUndefined();\n expect(response2.headers[\"x-cached\"]).toBeUndefined();\n expect(response.body).toEqual(response2.body);\n });\n });\n describe(\"scenario 7: GET /rest/caches/scenario-7\", () => {\n it(\"should return data from cached service\", async () => {\n const response = await request.get(\"/rest/caches/scenario-7/1\").expect(200);\n const response2 = await request.get(\"/rest/caches/scenario-7/2\").expect(200);\n const response3 = await request.get(\"/rest/caches/scenario-7/2\").expect(200);\n\n expect(response.body).toEqual({id: \"one:1\"});\n expect(response2.body).toEqual({\n id: \"one:2\"\n });\n expect(response3.body).toEqual({\n id: \"one:2\"\n });\n expect(response.body).not.toEqual(response2.body);\n });\n });\n });\n describe(\"withoutCache\", () => {\n beforeEach(\n PlatformTest.bootstrap(options.server, {\n ...options,\n logger: {},\n cache: false,\n mount: {\n \"/rest\": [TestCacheController]\n }\n })\n );\n beforeEach(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterEach(PlatformTest.reset);\n\n describe(\"scenario 1: GET /rest/caches/scenario-1\", () => {\n it(\"should return data with cached response\", async () => {\n const response = await request.get(\"/rest/caches/scenario-1\").expect(200);\n const response2 = await request.get(\"/rest/caches/scenario-1\").expect(200);\n\n expect(response.text).toContain(\"hello world\");\n expect(response.headers[\"x-cached\"]).toBeUndefined();\n\n expect(response2.text).toContain(\"hello world\");\n expect(response2.headers[\"x-cached\"]).toBeUndefined();\n });\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testCache.js","sourceRoot":"","sources":["../../../src/tests/testCache.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testChildrenControllers.js","sourceRoot":"","sources":["../../../src/tests/testChildrenControllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,MAAM,UAAU,uBAAuB,CAAC,OAA+B;IACrE,IAAI,OAA4C,CAAC;IAGjD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;QAEvB,GAAG;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAA;IAHC;QADC,GAAG,CAAC,aAAa,CAAC;;;;kDAGlB;IAJG,mBAAmB;QADxB,UAAU,CAAC,WAAW,CAAC;OAClB,mBAAmB,CAKxB;IAMD,IAAM,cAAc,GAApB,MAAM,cAAc;QAElB,SAAS;YACP,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAA;IAHC;QADC,GAAG,CAAC,aAAa,CAAC;;;;mDAGlB;IAJG,cAAc;QAJnB,UAAU,CAAC;YACV,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,CAAC,mBAAmB,CAAC;SAChC,CAAC;OACI,cAAc,CAKnB;IAED,UAAU,CACR,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,cAAc,CAAC;SAC1B;KACF,CAAC,CACH,CAAC;IACF,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE9B,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE/E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;QACrE,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAExF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {Controller, Get, PlatformTest} from \"@tsed/common\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\nexport function testChildrenControllers(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n @Controller(\"/children\")\n class TestChildController {\n @Get(\"/scenario-2\")\n get() {\n return \"hello child\";\n }\n }\n\n @Controller({\n path: \"/controllers\",\n children: [TestChildController]\n })\n class TestController {\n @Get(\"/scenario-1\")\n scenario1() {\n return \"hello world\";\n }\n }\n\n beforeEach(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [TestController]\n }\n })\n );\n beforeEach(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterEach(PlatformTest.reset);\n\n describe(\"scenario 1: GET /rest/controllers/scenario-1\", () => {\n it(\"should return a response from method\", async () => {\n const response = await request.get(\"/rest/controllers/scenario-1\").expect(200);\n\n expect(response.text).toEqual(\"hello world\");\n });\n });\n\n describe(\"scenario 2: GET /rest/controllers/children/scenario-2\", () => {\n it(\"should return a response from method\", async () => {\n const response = await request.get(\"/rest/controllers/children/scenario-2\").expect(200);\n\n expect(response.text).toEqual(\"hello child\");\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testChildrenControllers.js","sourceRoot":"","sources":["../../../src/tests/testChildrenControllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,MAAM,UAAU,uBAAuB,CAAC,OAA+B;IACrE,IAAI,OAA4C,CAAC;IAGjD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;QAEvB,GAAG;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAA;IAJC;QAAC,GAAG,CAAC,aAAa,CAAC;;;;kDAGlB;IAJG,mBAAmB;QADxB,UAAU,CAAC,WAAW,CAAC;OAClB,mBAAmB,CAKxB;IAMD,IAAM,cAAc,GAApB,MAAM,cAAc;QAElB,SAAS;YACP,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAA;IAJC;QAAC,GAAG,CAAC,aAAa,CAAC;;;;mDAGlB;IAJG,cAAc;QAJnB,UAAU,CAAC;YACV,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,CAAC,mBAAmB,CAAC;SAChC,CAAC;OACI,cAAc,CAKnB;IAED,UAAU,CACR,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,cAAc,CAAC;SAC1B;KACF,CAAC,CACH,CAAC;IACF,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE9B,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE/E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;QACrE,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAExF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testCookies.js","sourceRoot":"","sources":["../../../src/tests/testCookies.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1E,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,IAAa,WAAW,GAAxB,MAAa,WAAW;IACtB;;;OAGG;IAEI,SAAS,CAAiC,aAAqB;QACpE,OAAO,EAAC,aAAa,EAAC,CAAC;IACzB,CAAC;CACF,CAAA;AAHC;IADC,GAAG,CAAC,aAAa,CAAC;IACD,WAAA,aAAa,CAAC,eAAe,CAAC,CAAA;;;;4CAE/C;AARU,WAAW;IADvB,UAAU,CAAC,UAAU,CAAC;GACV,WAAW,CASvB;SATY,WAAW;AAWxB,MAAM,UAAU,WAAW,CAAC,OAA+B;IACzD,IAAI,OAA4C,CAAC;IACjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,WAAW,CAAC;SACvB;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhH,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {Controller, CookiesParams, Get, PlatformTest} from \"@tsed/common\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n@Controller(\"/cookies\")\nexport class CookiesCtrl {\n /**\n * Handle request and get auth from cookies\n * @param authorization\n */\n @Get(\"/scenario-1\")\n public scenario1(@CookiesParams(\"authorization\") authorization: string) {\n return {authorization};\n }\n}\n\nexport function testCookies(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [CookiesCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n it(\"Scenario 1: GET /rest/cookies/scenario-1\", async () => {\n const {body} = await request.get(\"/rest/cookies/scenario-1\").set(\"Cookie\", \"authorization=eOIjdkk\").expect(200);\n\n expect(body.authorization).toEqual(\"eOIjdkk\");\n });\n}\n"]}
1
+ {"version":3,"file":"testCookies.js","sourceRoot":"","sources":["../../../src/tests/testCookies.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1E,OAAO,SAAS,MAAM,WAAW,CAAC;AAI3B,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB;;;OAGG;IAEI,SAAS,CAAiC,aAAqB;QACpE,OAAO,EAAC,aAAa,EAAC,CAAC;IACzB,CAAC;CACF,CAAA;AAJC;IAAC,GAAG,CAAC,aAAa,CAAC;IACD,WAAA,aAAa,CAAC,eAAe,CAAC,CAAA;;;;4CAE/C;AARU,WAAW;IADvB,UAAU,CAAC,UAAU,CAAC;GACV,WAAW,CASvB;SATY,WAAW;AAWxB,MAAM,UAAU,WAAW,CAAC,OAA+B;IACzD,IAAI,OAA4C,CAAC;IACjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,WAAW,CAAC;SACvB;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhH,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testCtrlInheritance.js","sourceRoot":"","sources":["../../../src/tests/testCtrlInheritance.ts"],"names":[],"mappings":"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","sourcesContent":["import {Controller, Get, PathParams, PlatformTest, QueryParams} from \"@tsed/common\";\nimport {getSpec, SpecTypes} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\nexport abstract class TestBaseController {\n @Get(\"/\")\n scenario1(@QueryParams(\"search\") search: string) {\n return {\n search\n };\n }\n\n @Get(\"/override\")\n scenario3(@QueryParams(\"q\") q: string) {\n return {data: q};\n }\n}\n\n@Controller(\"/test\")\nexport class TestChildController extends TestBaseController {\n @Get(\"/:id\")\n scenario2(@PathParams(\"id\") id: string) {\n return {id};\n }\n\n @Get(\"/override\")\n scenario3(@QueryParams(\"s\") s: string) {\n return {data: s};\n }\n}\n\nexport function testCtrlInheritance(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [TestChildController]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n it(\"Scenario1: should call inherited method\", async () => {\n const {body} = await request.get(\"/rest/test/?search=test\").expect(200);\n expect(body).toEqual({\n search: \"test\"\n });\n });\n\n it(\"Scenario2: should the Child method\", async () => {\n const {body} = await request.get(\"/rest/test/1\").expect(200);\n expect(body).toEqual({id: \"1\"});\n });\n\n it(\"Scenario2: should call the Child method and not the base method\", async () => {\n const {body} = await request.get(\"/rest/test/1\").expect(200);\n expect(body).toEqual({id: \"1\"});\n });\n\n it(\"should generate swagger json\", () => {\n expect(getSpec(TestChildController, {specType: SpecTypes.OPENAPI})).toEqual({\n paths: {\n \"/test\": {\n get: {\n operationId: \"testBaseControllerScenario1\",\n parameters: [\n {\n in: \"query\",\n name: \"search\",\n required: false,\n schema: {\n type: \"string\"\n }\n }\n ],\n responses: {\n \"200\": {\n description: \"Success\"\n }\n },\n tags: [\"TestChildController\"]\n }\n },\n \"/test/override\": {\n get: {\n operationId: \"testChildControllerScenario3\",\n parameters: [\n {\n in: \"query\",\n name: \"s\",\n required: false,\n schema: {\n type: \"string\"\n }\n }\n ],\n responses: {\n \"200\": {\n description: \"Success\"\n }\n },\n tags: [\"TestChildController\"]\n }\n },\n \"/test/{id}\": {\n get: {\n operationId: \"testChildControllerScenario2\",\n parameters: [\n {\n in: \"path\",\n name: \"id\",\n required: true,\n schema: {\n type: \"string\"\n }\n }\n ],\n responses: {\n \"200\": {\n description: \"Success\"\n }\n },\n tags: [\"TestChildController\"]\n }\n }\n },\n tags: [\n {\n name: \"TestChildController\"\n }\n ]\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testCtrlInheritance.js","sourceRoot":"","sources":["../../../src/tests/testCtrlInheritance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testCustom404.js","sourceRoot":"","sources":["../../../src/tests/testCustom404.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,MAAM,UAAU,aAAa,CAAC,OAA+B;IAC3D,MAAM,YAAa,SAAQ,OAAO,CAAC,MAAM;KAAG;IAE5C,IAAI,OAA4C,CAAC;IACjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE;QACnC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CACH,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {PlatformTest} from \"@tsed/common\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\nexport function testCustom404(options: PlatformTestingSdkOpts) {\n class CustomServer extends options.server {}\n\n let request: SuperTest.SuperTest<SuperTest.Test>;\n beforeAll(\n PlatformTest.bootstrap(CustomServer, {\n ...options,\n mount: {\n \"/rest\": []\n }\n })\n );\n\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n it(\"Scenario 1: GET /\", async () => {\n const response: any = await request.get(\"/\").expect(404);\n\n expect(response.body).toEqual({\n name: \"NOT_FOUND\",\n message: 'Resource \"/\" not found',\n status: 404,\n errors: []\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testCustom404.js","sourceRoot":"","sources":["../../../src/tests/testCustom404.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,MAAM,UAAU,aAAa,CAAC,OAA+B;IAC3D,MAAM,YAAa,SAAQ,OAAO,CAAC,MAAM;KAAG;IAE5C,IAAI,OAA4C,CAAC;IACjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE;QACnC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,EAAE;SACZ;KACF,CAAC,CACH,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testErrors.js","sourceRoot":"","sources":["../../../src/tests/testErrors.ts"],"names":[],"mappings":"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","sourcesContent":["import \"@tsed/ajv\";\nimport {BodyParams, Controller, Err, Get, Middleware, PlatformTest, Post, UseAfter} from \"@tsed/common\";\nimport {Env} from \"@tsed/core\";\nimport {BadRequest, InternalServerError} from \"@tsed/exceptions\";\nimport {Description, Name, Required, Returns, Summary} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {CustomBadRequest} from \"../errors/CustomBadRequest\";\nimport {CustomInternalError} from \"../errors/CustomInternalError\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\nclass CustomModel {\n @Required() name: string;\n}\n\nclass CustomPropModel {\n @Name(\"role_item\")\n @Required()\n roleItem: string;\n}\n\n@Middleware()\nclass ErrorMiddleware {\n use(@Err() error: any) {\n return {\n message: \"no error\"\n };\n }\n}\n\n@Middleware()\nclass FakeMiddleware {\n use() {\n return {\n message: \"should not be called by the platform when endpoint throw an error\"\n };\n }\n}\n\n@Controller(\"/errors\")\nexport class ErrorsCtrl {\n @Get(\"/scenario-1\")\n @Returns(500, InternalServerError).Description(\"Custom Bad Request\")\n public scenario1() {\n throw new CustomBadRequest(\"Custom Bad Request\");\n }\n\n @Get(\"/scenario-2\")\n @Returns(500).Description(\"Internal Server Error\")\n public scenario2() {\n throw new Error(\"My error\");\n }\n\n @Get(\"/scenario-3\")\n @Returns(400, CustomInternalError).Description(\"Bad request\")\n public scenario3() {\n throw new CustomInternalError(\"My custom error\");\n }\n\n @Post(\"/scenario-4\")\n @Returns(400)\n public scenario4(@Required() @BodyParams(\"name\") name: string) {\n return name;\n }\n\n @Post(\"/scenario-5\")\n @Returns(400, BadRequest).Description(\"Bad request\")\n public scenario5(\n @Required()\n @BodyParams()\n model: CustomModel\n ) {\n return model;\n }\n\n @Post(\"/scenario-6\")\n @Summary(\"Throw a Required prop if prop name is required\")\n @Description(`Return a required error`)\n @Returns(400).Description(\"Bad request\")\n public scenario6(\n @Required()\n @BodyParams()\n model: CustomPropModel\n ) {\n return model;\n }\n\n @Get(\"/scenario-7\")\n @Returns(400).Description(\"Bad request\")\n @UseAfter(FakeMiddleware)\n @UseAfter(ErrorMiddleware)\n public scenario7() {\n throw new CustomInternalError(\"My custom error\");\n }\n}\n\nexport function testErrors(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n env: Env.TEST,\n mount: {\n \"/rest\": [ErrorsCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n it(\"Scenario 1: GET /rest/errors/scenario-1\", async () => {\n const response: any = await request.get(\"/rest/errors/scenario-1\").expect(400);\n\n expect(response.headers[\"x-header-error\"]).toEqual(\"deny\");\n expect(response.body).toEqual({\n name: \"CUSTOM_BAD_REQUEST\",\n message: \"Custom Bad Request\",\n status: 400,\n errors: [\"test\"]\n });\n });\n\n it(\"Scenario 2: GET /rest/errors/scenario-2\", async () => {\n const response: any = await request.get(\"/rest/errors/scenario-2\").expect(500);\n\n expect(response.body).toEqual({\n errors: [],\n message: \"My error\",\n name: \"Error\",\n status: 500\n });\n });\n\n it(\"Scenario 3: GET /rest/errors/scenario-3\", async () => {\n const response: any = await request.get(\"/rest/errors/scenario-3\").expect(500);\n\n expect(response.headers[\"x-header-error\"]).toEqual(\"deny\");\n expect(response.body).toEqual({\n name: \"CUSTOM_INTERNAL_SERVER_ERROR\",\n message: \"My custom error\",\n status: 500,\n errors: [\"test\"]\n });\n });\n\n it(\"Scenario 4: POST /rest/errors/scenario-4\", async () => {\n const response: any = await request.post(\"/rest/errors/scenario-4\").expect(400);\n\n expect(response.body).toEqual({\n errors: [\n {\n dataPath: \"\",\n keyword: \"required\",\n message: \"It should have required parameter 'name'\",\n modelName: \"body\",\n params: {\n missingProperty: \"name\"\n },\n schemaPath: \"#/required\"\n }\n ],\n message: \"Bad request on parameter \\\"request.body.name\\\".\\nIt should have required parameter 'name'\",\n name: \"REQUIRED_VALIDATION_ERROR\",\n status: 400\n });\n });\n\n it(\"Scenario 5: POST /rest/errors/scenario-5\", async () => {\n const response: any = await request.post(\"/rest/errors/scenario-5\").expect(400);\n\n expect(response.body).toEqual({\n errors: [\n {\n dataPath: \"\",\n instancePath: \"\",\n keyword: \"required\",\n message: \"must have required property 'name'\",\n modelName: \"CustomModel\",\n params: {\n missingProperty: \"name\"\n },\n schemaPath: \"#/required\"\n }\n ],\n message: 'Bad request on parameter \"request.body\".\\nCustomModel must have required property \\'name\\'. Given value: \"undefined\"',\n name: \"AJV_VALIDATION_ERROR\",\n status: 400\n });\n });\n\n it(\"Scenario 6: POST /rest/errors/scenario-6\", async () => {\n const response: any = await request.post(`/rest/errors/scenario-6`).send({}).expect(400);\n\n expect(response.body).toEqual({\n errors: [\n {\n dataPath: \"\",\n instancePath: \"\",\n keyword: \"required\",\n message: \"must have required property 'role_item'\",\n modelName: \"CustomPropModel\",\n params: {\n missingProperty: \"role_item\"\n },\n schemaPath: \"#/required\"\n }\n ],\n message:\n 'Bad request on parameter \"request.body\".\\nCustomPropModel must have required property \\'role_item\\'. Given value: \"undefined\"',\n name: \"AJV_VALIDATION_ERROR\",\n status: 400\n });\n });\n\n it(\"Scenario 7: GET /rest/errors/scenario-7\", async () => {\n const response: any = await request.get(\"/rest/errors/scenario-7\").expect(200);\n\n expect(response.body).toEqual({\n message: \"no error\"\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testErrors.js","sourceRoot":"","sources":["../../../src/tests/testErrors.ts"],"names":[],"mappings":";AAAA,OAAO,WAAW,CAAC;AACnB,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,cAAc,CAAC;AACxG,OAAO,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AAC3E,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAGlE,MAAM,WAAW;IACH,IAAI,CAAS;CAC1B;AADC;IAAC,QAAQ,EAAE;;yCAAc;AAG3B,MAAM,eAAe;IAGnB,QAAQ,CAAS;CAClB;AAHC;IAAC,IAAI,CAAC,WAAW,CAAC;IACjB,QAAQ,EAAE;;iDACM;AAInB,IAAM,eAAe,GAArB,MAAM,eAAe;IACnB,GAAG,CAAQ,KAAU;QACnB,OAAO;YACL,OAAO,EAAE,UAAU;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AALC;IAAK,WAAA,GAAG,EAAE,CAAA;;;;0CAIT;AALG,eAAe;IADpB,UAAU,EAAE;GACP,eAAe,CAMpB;AAGD,IAAM,cAAc,GAApB,MAAM,cAAc;IAClB,GAAG;QACD,OAAO;YACL,OAAO,EAAE,mEAAmE;SAC7E,CAAC;IACJ,CAAC;CACF,CAAA;AANK,cAAc;IADnB,UAAU,EAAE;GACP,cAAc,CAMnB;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGd,SAAS;QACd,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IACnD,CAAC;IAIM,SAAS;QACd,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAIM,SAAS;QACd,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC;IAIM,SAAS,CAAiC,IAAY;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAIM,SAAS,CAGd,KAAkB;QAElB,OAAO,KAAK,CAAC;IACf,CAAC;IAMM,SAAS,CAGd,KAAsB;QAEtB,OAAO,KAAK,CAAC;IACf,CAAC;IAMM,SAAS;QACd,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AArDC;IAAC,GAAG,CAAC,aAAa,CAAC;IAClB,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC;;;;2CAGnE;AAED;IAAC,GAAG,CAAC,aAAa,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;;;;2CAGjD;AAED;IAAC,GAAG,CAAC,aAAa,CAAC;IAClB,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;;;;2CAG5D;AAED;IAAC,IAAI,CAAC,aAAa,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC;IACK,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,UAAU,CAAC,MAAM,CAAC,CAAA;;;;2CAE/C;AAED;IAAC,IAAI,CAAC,aAAa,CAAC;IACnB,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IAEjD,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,UAAU,EAAE,CAAA;;qCACN,WAAW;;2CAGnB;AAED;IAAC,IAAI,CAAC,aAAa,CAAC;IACnB,OAAO,CAAC,gDAAgD,CAAC;IACzD,WAAW,CAAC,yBAAyB,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IAErC,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,UAAU,EAAE,CAAA;;qCACN,eAAe;;2CAGvB;AAED;IAAC,GAAG,CAAC,aAAa,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC;;;;2CAGzB;AArDU,UAAU;IADtB,UAAU,CAAC,SAAS,CAAC;GACT,UAAU,CAsDtB;SAtDY,UAAU;AAwDvB,MAAM,UAAU,UAAU,CAAC,OAA+B;IACxD,IAAI,OAA4C,CAAC;IACjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/E,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,oBAAoB;YAC7B,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,CAAC,MAAM,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/E,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,CAAC,MAAM,CAAC;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE;gBACN;oBACE,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,0CAA0C;oBACnD,SAAS,EAAE,MAAM;oBACjB,MAAM,EAAE;wBACN,eAAe,EAAE,MAAM;qBACxB;oBACD,UAAU,EAAE,YAAY;iBACzB;aACF;YACD,OAAO,EAAE,2FAA2F;YACpG,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE;gBACN;oBACE,QAAQ,EAAE,EAAE;oBACZ,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,oCAAoC;oBAC7C,SAAS,EAAE,aAAa;oBACxB,MAAM,EAAE;wBACN,eAAe,EAAE,MAAM;qBACxB;oBACD,UAAU,EAAE,YAAY;iBACzB;aACF;YACD,OAAO,EAAE,sHAAsH;YAC/H,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,MAAM,EAAE;gBACN;oBACE,QAAQ,EAAE,EAAE;oBACZ,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,yCAAyC;oBAClD,SAAS,EAAE,iBAAiB;oBAC5B,MAAM,EAAE;wBACN,eAAe,EAAE,WAAW;qBAC7B;oBACD,UAAU,EAAE,YAAY;iBACzB;aACF;YACD,OAAO,EACL,+HAA+H;YACjI,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,QAAQ,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testHandlers.js","sourceRoot":"","sources":["../../../src/tests/testHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Context, Controller, Get, PathParams, PlatformTest} from \"@tsed/common\";\nimport {Property, Required, Title} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\nexport class MyModel {\n @Title(\"ID\")\n @Property()\n public id: string;\n\n @Property()\n @Required()\n public name: string;\n}\n\n@Controller(\"/handlers\")\nexport class HandlersCtrl {\n @Get(\"/scenario-1/:id\") // Express style\n public scenario1(@PathParams(\"id\") id: string): MyModel {\n const model = new MyModel();\n model.id = id;\n model.name = \"test\";\n\n return model;\n }\n\n @Get(\"/scenario-2/:id\") // Ts.ED style with response injection\n public scenario2(\n @Context() ctx: Context,\n @PathParams(\"id\")\n @Required()\n id: string\n ): void {\n const model = new MyModel();\n model.id = \"1\";\n model.name = \"test\";\n\n try {\n ctx.response.status(202).body(model);\n } catch (er) {\n console.log(er);\n }\n }\n\n @Get(\"/scenario-3/:id\") // Ts.ED style\n public async scenario3(@PathParams(\"id\") id: string): Promise<any> {\n const model = new MyModel();\n model.id = id;\n model.name = \"test\";\n\n return model;\n }\n}\n\nexport function testHandlers(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n logger: {\n leve: \"info\"\n },\n mount: {\n \"/rest\": [HandlersCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n it(\"Scenario 1: GET /rest/handlers/scenario-1/:id\", async () => {\n const {body}: any = await request.get(\"/rest/handlers/scenario-1/1\").expect(200);\n\n expect(body.id).toEqual(\"1\");\n expect(body.name).toEqual(\"test\");\n });\n\n it(\"Scenario 2: GET /rest/handlers/scenario-2/:id\", async () => {\n const {body}: any = await request.get(\"/rest/handlers/scenario-2/1\").expect(202);\n\n expect(body.id).toEqual(\"1\");\n expect(body.name).toEqual(\"test\");\n });\n\n it(\"Scenario 3: GET /rest/handlers/scenario-3/:id\", async () => {\n const {body}: any = await request.get(\"/rest/handlers/scenario-3/1\").expect(200);\n\n expect(body.id).toEqual(\"1\");\n expect(body.name).toEqual(\"test\");\n });\n}\n"]}
1
+ {"version":3,"file":"testHandlers.js","sourceRoot":"","sources":["../../../src/tests/testHandlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testHeaderParams.js","sourceRoot":"","sources":["../../../src/tests/testHeaderParams.ts"],"names":[],"mappings":"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","sourcesContent":["import {Context, Controller, Get, HeaderParams, Locals, Middleware, PlatformTest, Post, Req, Use} from \"@tsed/common\";\nimport {Enum, Required} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n@Middleware()\nclass SetId {\n use(@Req() request: any, @Locals() locals: any, @Context() $ctx: Context) {\n request[\"user\"] = 1;\n locals.id = \"local-10909\";\n $ctx.set(\"uid\", \"ctx-10909\");\n }\n}\n\n@Controller(\"/header-params\")\nexport class HeaderParamsCtrl {\n /**\n * Handle request with a raw middleware + handler\n * Get Authorization from header\n * @param request\n * @param auth\n */\n @Get(\"/scenario-1\")\n @Use(SetId)\n public scenario1(@Req() request: Req, @HeaderParams(\"authorization\") auth: string): any {\n return {\n user: (request as any).user,\n token: auth\n };\n }\n\n @Post(\"/scenario-2\")\n scenario2(@HeaderParams(\"Content-type\") contentType: string) {\n return {contentType};\n }\n\n @Get(\"/scenario-3\")\n testScenario3(\n @HeaderParams({\n expression: \"x-token\",\n useValidation: true\n })\n @Required()\n @Enum(\"test\", \"gcp\")\n token: string\n ): any {\n return {token};\n }\n}\n\nexport function testHeaderParams(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [HeaderParamsCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n describe(\"Scenario 1: GET /rest/header-params/scenario-1\", () => {\n it(\"should return a response with the extracted authorization from the request headers\", async () => {\n const {body}: any = await request\n .get(\"/rest/header-params/scenario-1\")\n .set({\n Authorization: \"tokenauth\"\n })\n .expect(200);\n\n expect(body.user).toEqual(1);\n expect(body.token).toEqual(\"tokenauth\");\n });\n });\n\n describe(\"Scenario 2: POST with contentType\", () => {\n it(\"should return a response with the extracted contentType from the request headers\", async () => {\n const response = await request\n .post(\"/rest/header-params/scenario-2\")\n .set({\n \"Content-Type\": \"application/json\"\n })\n .expect(200);\n\n expect(response.body).toEqual({\n contentType: \"application/json\"\n });\n });\n });\n describe(\"Scenario3: GET /rest/headers/scenario-3\", () => {\n it(\"should accept the header\", async () => {\n const response = await request.get(\"/rest/header-params/scenario-3\").set(\"x-token\", \"test\").expect(200);\n\n expect(response.body).toEqual({\n token: \"test\"\n });\n });\n\n it(\"should not validate the header\", async () => {\n const response = await request.get(\"/rest/header-params/scenario-3\").expect(400);\n\n expect(response.body).toEqual({\n errors: [\n {\n dataPath: \"\",\n keyword: \"required\",\n message: \"It should have required parameter 'x-token'\",\n modelName: \"header\",\n params: {\n missingProperty: \"x-token\"\n },\n schemaPath: \"#/required\"\n }\n ],\n message: \"Bad request on parameter \\\"request.header.x-token\\\".\\nIt should have required parameter 'x-token'\",\n name: \"REQUIRED_VALIDATION_ERROR\",\n status: 400\n });\n });\n\n it(\"should not validate the header - enum\", async () => {\n const response = await request.get(\"/rest/header-params/scenario-3\").set(\"x-token\", \"invalid\").expect(400);\n\n expect(response.body).toEqual({\n errors: [\n {\n data: \"invalid\",\n dataPath: \"\",\n instancePath: \"\",\n keyword: \"enum\",\n message: \"must be equal to one of the allowed values\",\n params: {\n allowedValues: [\"test\", \"gcp\"]\n },\n schemaPath: \"#/enum\"\n }\n ],\n message:\n 'Bad request on parameter \"request.header.x-token\".\\nValue must be equal to one of the allowed values. Given value: \"invalid\"',\n name: \"AJV_VALIDATION_ERROR\",\n status: 400\n });\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testHeaderParams.js","sourceRoot":"","sources":["../../../src/tests/testHeaderParams.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testHeaders.js","sourceRoot":"","sources":["../../../src/tests/testHeaders.ts"],"names":[],"mappings":"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","sourcesContent":["import {BodyParams, Controller, Get, PlatformResponse, PlatformTest, Res} from \"@tsed/common\";\nimport {Returns} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n@Controller(\"/headers\")\nexport class HeadersCtrl {\n @Get(\"/scenario-1\")\n @Returns(200, String).Header(\"test\", \"x-token\")\n testScenario1(@BodyParams(\"test\") value: string[]): any {\n return \"hello\";\n }\n\n @Get(\"/scenario-2\")\n @Returns(200, String).Header(\"x-token-test\", \"test\").Header(\"x-token-test-2\", \"test2\").ContentType(\"application/xml\")\n testScenario2() {\n return \"<xml></xml>\";\n }\n\n @Get(\"/scenario-3\")\n @Returns(200, String).Headers({\n Location: {\n description: \"URL to the new xxx\",\n type: \"string\",\n value: \"/v1/location/header\"\n }\n })\n testScenario3(@Res() response: PlatformResponse) {\n response.setHeader(\"Location\", `/v1/location`);\n return \"Hello\";\n }\n}\n\nexport function testHeaders(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n logger: {\n level: \"off\"\n },\n mount: {\n \"/rest\": [HeadersCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n it(\"Scenario1: GET /rest/headers/scenario-1\", async () => {\n const response = await request.get(\"/rest/headers/scenario-1\").expect(200);\n\n expect(response.text).toEqual(\"hello\");\n expect(response.header[\"test\"]).toEqual(\"x-token\");\n });\n\n it(\"Scenario2: GET /rest/headers/scenario-2\", (done: Function) => {\n request\n .get(\"/rest/headers/scenario-2\")\n .expect(200)\n .end((err: any, response: any) => {\n if (err) {\n throw err;\n }\n\n expect(response.headers[\"x-token-test\"]).toEqual(\"test\");\n expect(response.headers[\"x-token-test-2\"]).toEqual(\"test2\");\n expect(response.headers[\"content-type\"]).toContain(\"application/xml\");\n\n done();\n });\n });\n\n it(\"Scenario3: GET /rest/headers/scenario-3\", (done: Function) => {\n request\n .get(\"/rest/headers/scenario-3\")\n .expect(200)\n .end((err: any, response: any) => {\n if (err) {\n throw err;\n }\n\n expect(response.headers[\"location\"]).toEqual(\"/v1/location\");\n\n done();\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testHeaders.js","sourceRoot":"","sources":["../../../src/tests/testHeaders.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testInheritanceController.js","sourceRoot":"","sources":["../../../src/tests/testInheritanceController.ts"],"names":[],"mappings":"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","sourcesContent":["import {BodyParams, Controller, Get, Middleware, PathParams, PlatformTest, Post, UseAuth} from \"@tsed/common\";\nimport {NotFound} from \"@tsed/exceptions\";\nimport {Description, MaxLength, MinLength, Property, Returns, Summary} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\nexport class Resource {\n @Property()\n id: string;\n\n @Property()\n @MinLength(3)\n @MaxLength(100)\n name: string;\n}\n\nexport class BaseController<T extends {id: string}> {\n resources: T[];\n\n @Get(\"/:id\")\n @Summary(\"Return an element by his resource\")\n async get(\n @Description(\"Id of the resource\")\n @PathParams(\"id\")\n id: string\n ): Promise<any> {\n const resource = this.resources.find((resource) => resource.id === id);\n\n if (!resource) {\n throw new NotFound(\"Not found\");\n }\n\n return resource;\n }\n\n @Get(\"/\")\n @Summary(\"Return all elements from a service\")\n async list(): Promise<any[]> {\n return this.resources;\n }\n}\n\n@Controller(\"/resources\")\nexport class ResourcesCtrl extends BaseController<Resource> {\n resources = [{id: \"1\", name: \"John\"}];\n\n @Get(\"/:id\")\n @Summary(\"Return an element by his resource\")\n async get(\n @Description(\"Id of the resource\")\n @PathParams(\"id\")\n id: string\n ): Promise<any> {\n const resource = await super.get(id);\n\n resource.name = resource.name + \" hello You!\";\n\n return resource;\n }\n\n @Post(\"/\")\n @Returns(201).Type(Resource)\n async post(@BodyParams() resource: Resource) {\n resource.id = require(\"uuid\").v4();\n this.resources.push(resource);\n\n return resource;\n }\n}\n\n@Middleware()\nclass AuthMiddleware {\n use() {\n return true;\n }\n}\n\nabstract class AttachmentController {\n @Get(\"/:parentID/attachments\")\n getAll(@PathParams(\"parentID\") parentID: string) {\n return `All attachments of ${parentID}`;\n }\n}\n\n@Controller(\"/findings\")\n@UseAuth(AuthMiddleware)\nexport class FindingsController extends AttachmentController {\n @Get(\"/\")\n get() {\n return \"hello Finding\";\n }\n}\n\nexport function testInheritanceController(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [ResourcesCtrl, FindingsController]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n describe(\"Scenario 1:\", () => {\n it(\"should return list\", async () => {\n const {body} = await request.get(\"/rest/resources\").expect(200);\n\n expect(body).toEqual([{id: \"1\", name: \"John\"}]);\n });\n\n it(\"should return a resource\", async () => {\n const {body} = await request.get(\"/rest/resources/1\").expect(200);\n\n expect(body).toEqual({\n id: \"1\",\n name: \"John hello You!\"\n });\n });\n\n it(\"should add a resource\", async () => {\n const {body} = await request\n .post(\"/rest/resources\")\n .send({\n name: \"july\"\n })\n .expect(201);\n\n expect(body.name).toEqual(\"july\");\n expect(typeof body.id).toBe(\"string\");\n\n const {body: resource} = await request.get(`/rest/resources/${body.id}`).expect(200);\n\n expect(resource.id).toEqual(body.id);\n });\n });\n\n describe(\"scenario2: FindingsController\", () => {\n it(\"should call /rest/findings/:parentID/attachments\", async () => {\n const {text} = await request.get(\"/rest/findings/1/attachments\").expect(200);\n\n expect(text).toEqual(\"All attachments of 1\");\n });\n\n it(\"should call /rest/findings/\", async () => {\n const {text} = await request.get(\"/rest/findings\").expect(200);\n\n expect(text).toEqual(\"hello Finding\");\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testInheritanceController.js","sourceRoot":"","sources":["../../../src/tests/testInheritanceController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testLocals.js","sourceRoot":"","sources":["../../../src/tests/testLocals.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAQ,eAAe,EAAE,YAAY,EAAE,GAAG,EAAgB,GAAG,EAAC,MAAM,cAAc,CAAC;AACvI,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACpB,GAAG,CAAQ,OAAY,EAAY,MAAW,EAAa,GAAoB;QAC7E,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;QAC1B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAJC;IAAK,WAAA,GAAG,EAAE,CAAA;IAAgB,WAAA,MAAM,EAAE,CAAA;IAAe,WAAA,OAAO,EAAE,CAAA;;qDAAM,eAAe;;2CAG9E;AAJG,gBAAgB;IADrB,UAAU,EAAE;GACP,gBAAgB,CAKrB;AAGD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGP,oBAAoB,CAAe,EAAO,EAAkB,GAAW;QAC5E,OAAO;YACL,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE;SACnB,CAAC;IACJ,CAAC;CACF,CAAA;AALC;IAFC,GAAG,CAAC,aAAa,CAAC;IAClB,GAAG,CAAC,gBAAgB,CAAC;IACO,WAAA,MAAM,CAAC,IAAI,CAAC,CAAA;IAAW,WAAA,OAAO,CAAC,KAAK,CAAC,CAAA;;;;sDAIjE;AAPG,UAAU;IADf,UAAU,CAAC,SAAS,CAAC;GAChB,UAAU,CAQf;AAED,MAAM,UAAU,UAAU,CAAC,OAA+B;IACxD,IAAI,OAA4C,CAAC;IACjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAC,IAAI,EAAC,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {Context, Controller, Get, Locals, Middleware, Next, PlatformContext, PlatformTest, Req, Request, Res, Use} from \"@tsed/common\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n@Middleware()\nclass LocalsMiddleware {\n use(@Req() request: any, @Locals() locals: any, @Context() ctx: PlatformContext) {\n locals.id = \"local-10909\";\n ctx.set(\"uid\", \"ctx-10909\");\n }\n}\n\n@Controller(\"/locals\")\nclass LocalsCtrl {\n @Get(\"/scenario-1\")\n @Use(LocalsMiddleware)\n public testStackMiddlewares(@Locals(\"id\") id: any, @Context(\"uid\") uid: string): any {\n return {\n id: `${id}-${uid}`\n };\n }\n}\n\nexport function testLocals(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [LocalsCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n describe(\"Scenario 1: GET /rest/locals/scenario-1\", () => {\n it(\"should call middleware and set a id in locals\", async () => {\n const {body}: any = await request.get(\"/rest/locals/scenario-1\").expect(200);\n\n expect(body.id).toEqual(\"local-10909-ctx-10909\");\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testLocals.js","sourceRoot":"","sources":["../../../src/tests/testLocals.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAQ,eAAe,EAAE,YAAY,EAAE,GAAG,EAAgB,GAAG,EAAC,MAAM,cAAc,CAAC;AACvI,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACpB,GAAG,CAAQ,OAAY,EAAY,MAAW,EAAa,GAAoB;QAC7E,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;QAC1B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC9B,CAAC;CACF,CAAA;AAJC;IAAK,WAAA,GAAG,EAAE,CAAA;IAAgB,WAAA,MAAM,EAAE,CAAA;IAAe,WAAA,OAAO,EAAE,CAAA;;qDAAM,eAAe;;2CAG9E;AAJG,gBAAgB;IADrB,UAAU,EAAE;GACP,gBAAgB,CAKrB;AAGD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGP,oBAAoB,CAAe,EAAO,EAAkB,GAAW;QAC5E,OAAO;YACL,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE;SACnB,CAAC;IACJ,CAAC;CACF,CAAA;AAPC;IAAC,GAAG,CAAC,aAAa,CAAC;IAClB,GAAG,CAAC,gBAAgB,CAAC;IACO,WAAA,MAAM,CAAC,IAAI,CAAC,CAAA;IAAW,WAAA,OAAO,CAAC,KAAK,CAAC,CAAA;;;;sDAIjE;AAPG,UAAU;IADf,UAAU,CAAC,SAAS,CAAC;GAChB,UAAU,CAQf;AAED,MAAM,UAAU,UAAU,CAAC,OAA+B;IACxD,IAAI,OAA4C,CAAC;IACjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,UAAU,CAAC;SACtB;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,EAAC,IAAI,EAAC,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testLocation.js","sourceRoot":"","sources":["../../../src/tests/testLocation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAItC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGhB,aAAa;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAHC;IAFC,GAAG,CAAC,aAAa,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC;;;;iDAGjB;AALG,YAAY;IADjB,UAAU,CAAC,WAAW,CAAC;GAClB,YAAY,CAMjB;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B;IAC1D,IAAI,OAA4C,CAAC;IAEjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE5E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {Controller, Get, PlatformTest} from \"@tsed/common\";\nimport SuperTest from \"supertest\";\nimport {Location} from \"@tsed/schema\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n@Controller(\"/location\")\nclass LocationCtrl {\n @Get(\"/scenario-1\")\n @Location(\"/test\")\n testScenario1() {\n return \"Hello\";\n }\n}\n\nexport function testLocation(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [LocationCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n it(\"Scenario1: GET /rest/location/scenario-1\", async () => {\n const response = await request.get(\"/rest/location/scenario-1\").expect(200);\n\n expect(response.text).toEqual(\"Hello\");\n expect(response.header.location).toEqual(\"/test\");\n });\n}\n"]}
1
+ {"version":3,"file":"testLocation.js","sourceRoot":"","sources":["../../../src/tests/testLocation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAItC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGhB,aAAa;QACX,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AALC;IAAC,GAAG,CAAC,aAAa,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC;;;;iDAGjB;AALG,YAAY;IADjB,UAAU,CAAC,WAAW,CAAC;GAClB,YAAY,CAMjB;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B;IAC1D,IAAI,OAA4C,CAAC;IAEjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE5E,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testMiddlewares.js","sourceRoot":"","sources":["../../../src/tests/testMiddlewares.ts"],"names":[],"mappings":"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","sourcesContent":["import \"@tsed/ajv\";\nimport {\n Context,\n Controller,\n Err,\n Get,\n Middleware,\n MiddlewareMethods,\n PlatformTest,\n QueryParams,\n Use,\n UseAfter,\n UseBefore\n} from \"@tsed/common\";\nimport {BadRequest, Exception, Unauthorized} from \"@tsed/exceptions\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n@Middleware()\nclass BeforeCustomMiddleware {\n use(@Context() ctx: Context) {\n ctx.set(\"stacks\", [\"UseBefore - Ctrl\"]);\n }\n}\n\n@Middleware()\nclass BeforeEndpointCustomMiddleware {\n use(@Context() ctx: Context) {\n ctx.get(\"stacks\").push(\"UseBefore - endpoint\");\n }\n}\n\n@Middleware()\nclass AfterCustomMiddleware {\n use(@Context() ctx: Context) {\n ctx.get(\"stacks\").push(\"UseAfter - Ctrl\");\n }\n}\n\n@Middleware()\nclass UseCustomMiddleware {\n use(@Context() ctx: Context) {\n ctx.get(\"stacks\").push(\"Use - Ctrl\");\n }\n}\n\n@Middleware()\nclass AfterEndpointCustomMiddleware {\n use(@Context() ctx: Context) {\n ctx.get(\"stacks\").push(\"UseAfter - endpoint\");\n }\n}\n\n@Middleware()\nclass UseMiddleware {\n use(@Context() ctx: Context) {\n ctx.get(\"stacks\").push(\"Use - Ctrl\");\n }\n}\n\n@Middleware()\nclass UseEndpointMiddleware {\n use(@Context() ctx: Context) {\n ctx.get(\"stacks\").push(\"Use - endpoint\");\n }\n}\n\n@Middleware()\nexport class CatchErrorMiddleware implements MiddlewareMethods {\n use(@Err() err: Exception) {\n if ([401].includes(err.status)) {\n throw new BadRequest(\"Bad format\");\n }\n\n throw err;\n }\n}\n\n@Controller(\"/middlewares\")\n@UseBefore(BeforeCustomMiddleware)\n@UseAfter(AfterCustomMiddleware)\n@UseAfter(CatchErrorMiddleware)\n@Use(UseCustomMiddleware)\nclass TestMiddlewaresCtrl {\n @Get(\"/scenario-1\")\n @UseBefore(BeforeEndpointCustomMiddleware)\n @UseAfter(AfterEndpointCustomMiddleware)\n @Use(UseEndpointMiddleware)\n scenario1(@Context() context: Context) {\n context.get(\"stacks\").push(\"endpoint\");\n\n return {stacks: context.get(\"stacks\")};\n }\n\n @Get(\"/scenario-2\")\n scenario2(@QueryParams(\"test\") test: string) {\n if (test === \"error\") {\n throw new Unauthorized(\"Unauthorized\");\n }\n\n return {\n hello: \"world\"\n };\n }\n}\n\nexport function testMiddlewares(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [TestMiddlewaresCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n describe(\"Scenario 1: GET /rest/middlewares/scenario-1\", () => {\n it(\"should call all middlewares\", async () => {\n const response = await request.get(\"/rest/middlewares/scenario-1\").expect(200);\n\n expect(response.body).toEqual({\n stacks: [\n \"UseBefore - Ctrl\",\n \"UseBefore - endpoint\",\n \"Use - Ctrl\",\n \"Use - endpoint\",\n \"endpoint\",\n \"UseAfter - endpoint\",\n \"UseAfter - Ctrl\"\n ]\n });\n });\n });\n describe(\"Scenario 2: GET /rest/middlewares/scenario-2\", () => {\n it(\"should call the endpoint without triggering middleware\", async () => {\n const response = await request.get(\"/rest/middlewares/scenario-2\").expect(200);\n\n expect(response.body).toEqual({\n hello: \"world\"\n });\n });\n it(\"should call the endpoint, throw an error and transform the error by calling the error middleware\", async () => {\n const response = await request.get(\"/rest/middlewares/scenario-2?test=error\").expect(400);\n\n expect(response.body).toEqual({\n errors: [],\n message: \"Bad format\",\n name: \"BAD_REQUEST\",\n status: 400\n });\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testMiddlewares.js","sourceRoot":"","sources":["../../../src/tests/testMiddlewares.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testModule.js","sourceRoot":"","sources":["../../../src/tests/testModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,aAAa,EAAC,MAAM,kCAAkC,CAAC;AAG/D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEhB,aAAa;QACX,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAA;AAHC;IADC,GAAG,CAAC,GAAG,CAAC;;;;iDAGR;AAJG,YAAY;IADjB,UAAU,CAAC,OAAO,CAAC;GACd,YAAY,CAKjB;AAED,MAAM,UAAU,UAAU,CAAC,OAA+B;IACxD,IAAI,OAA4C,CAAC;IAEjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB;QACD,OAAO,EAAE,CAAC,aAAa,CAAC;KACzB,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEjE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {Controller, Get, PlatformTest} from \"@tsed/common\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\nimport {FeatureModule} from \"../modules/feature/FeatureModule\";\n\n@Controller(\"/root\")\nclass TestRootCtrl {\n @Get(\"/\")\n testScenario1() {\n return \"From root\";\n }\n}\n\nexport function testModule(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [TestRootCtrl]\n },\n imports: [FeatureModule]\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n describe(\"Scenario1: GET /rest/root\", () => {\n it(\"should get content from root controller\", async () => {\n const response = await request.get(\"/rest/root\").expect(200);\n\n expect(response.text).toEqual(\"From root\");\n });\n });\n\n describe(\"Scenario2: GET /rest/features\", () => {\n it(\"should get content from a module with his controller\", async () => {\n const response = await request.get(\"/rest/features\").expect(200);\n\n expect(response.text).toEqual(\"From feature\");\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testModule.js","sourceRoot":"","sources":["../../../src/tests/testModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,aAAa,EAAC,MAAM,kCAAkC,CAAC;AAG/D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEhB,aAAa;QACX,OAAO,WAAW,CAAC;IACrB,CAAC;CACF,CAAA;AAJC;IAAC,GAAG,CAAC,GAAG,CAAC;;;;iDAGR;AAJG,YAAY;IADjB,UAAU,CAAC,OAAO,CAAC;GACd,YAAY,CAKjB;AAED,MAAM,UAAU,UAAU,CAAC,OAA+B;IACxD,IAAI,OAA4C,CAAC;IAEjD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB;QACD,OAAO,EAAE,CAAC,aAAa,CAAC;KACzB,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAE7B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEjE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { __decorate, __metadata, __param } from "tslib";
2
- import { BodyParams, Controller, MulterOptions, MultipartFile, PlatformTest, Post } from "@tsed/common";
3
- import { CollectionOf, Property, Required, Status } from "@tsed/schema";
2
+ import { BodyParams, Controller, MulterOptions, MultipartFile, PlatformTest } from "@tsed/common";
3
+ import { CollectionOf, Post, Property, Required, Status } from "@tsed/schema";
4
4
  import filedirname from "filedirname";
5
5
  import multer from "multer";
6
+ import { dirname, join } from "path";
7
+ import readPkgUp from "read-pkg-up";
6
8
  import SuperTest from "supertest";
7
9
  // FIXME remove when esm is ready
8
10
  const [, rootDir] = filedirname();
@@ -98,6 +100,11 @@ TestMulterController = __decorate([
98
100
  export { TestMulterController };
99
101
  export function testMulter(options) {
100
102
  let request;
103
+ const buffer = Buffer.from("test content");
104
+ const pkg = readPkgUp.sync({
105
+ cwd: __dirname
106
+ });
107
+ const rootDir = join(dirname(pkg?.path || ""), "src");
101
108
  beforeAll(PlatformTest.bootstrap(options.server, {
102
109
  ...options,
103
110
  mount: {
@@ -111,7 +118,7 @@ export function testMulter(options) {
111
118
  beforeAll(() => jest.resetAllMocks());
112
119
  describe("Scenario 1: POST /rest/multer/scenario-1", () => {
113
120
  it("should upload file with multer", async () => {
114
- const result = await request.post("/rest/multer/scenario-1").attach("media", `${rootDir}/../data/file.txt`).expect(201);
121
+ const result = await request.post("/rest/multer/scenario-1").attach("media", `${rootDir}/data/file.txt`).expect(201);
115
122
  expect(result.text).toEqual("file.txt");
116
123
  });
117
124
  it("should throw an exception when there is no file", async () => {
@@ -137,7 +144,7 @@ export function testMulter(options) {
137
144
  it("should upload file with multer", async () => {
138
145
  const result = await request
139
146
  .post("/rest/multer/scenario-2")
140
- .attach("media", `${rootDir}/../data/file.txt`)
147
+ .attach("media", `${rootDir}/data/file.txt`)
141
148
  .field({
142
149
  form_id: "form_id"
143
150
  })
@@ -147,7 +154,7 @@ export function testMulter(options) {
147
154
  });
148
155
  describe("Scenario 3: POST /rest/multer/scenario-3", () => {
149
156
  it("should upload file with multer", async () => {
150
- const result = await request.post("/rest/multer/scenario-3").attach("media", `${rootDir}/../data/file.txt`).field({}).expect(201);
157
+ const result = await request.post("/rest/multer/scenario-3").attach("media", `${rootDir}/data/file.txt`).field({}).expect(201);
151
158
  expect(result.body).toEqual({
152
159
  file: "file.txt"
153
160
  });
@@ -1 +1 @@
1
- {"version":3,"file":"testMulter.js","sourceRoot":"","sources":["../../../src/tests/testMulter.ts"],"names":[],"mappings":"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","sourcesContent":["import {BodyParams, Controller, MulterOptions, MultipartFile, PlatformMulterFile, PlatformTest, Post} from \"@tsed/common\";\nimport {CollectionOf, Property, Required, Status} from \"@tsed/schema\";\nimport {Request} from \"express\";\nimport filedirname from \"filedirname\";\nimport multer, {FileFilterCallback} from \"multer\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n// FIXME remove when esm is ready\nconst [, rootDir] = filedirname();\n\nexport class Task {\n @Property()\n id: string;\n\n @Property()\n title: string;\n}\n\nexport class Event {\n @Property()\n @Required()\n id: string;\n\n @CollectionOf(Task)\n tasks: Task[];\n}\n\nconst fileFilterStub = jest.fn();\nconst fileFilter = (req: Request, file: PlatformMulterFile, callback: FileFilterCallback) => {\n fileFilterStub();\n callback(null, true);\n};\n\nfunction getFileConfig(): any {\n return {\n storage: multer.diskStorage({\n destination: (req: Express.Request, _fileItem, cb) => {\n const path = `${rootDir}/../.tmp`;\n cb(null, path);\n }\n }),\n fileFilter\n };\n}\n\n@Controller(\"/multer\")\nexport class TestMulterController {\n @Post(\"/scenario-1\")\n @Status(201)\n @MulterOptions({dest: `${rootDir}/../.tmp`})\n uploadWithName(@Required() @MultipartFile(\"media\") media: PlatformMulterFile) {\n return media.originalname;\n }\n\n @Post(\"/scenario-2\")\n @Status(201)\n @MulterOptions({dest: `${rootDir}/../.tmp`})\n uploadWithPayload(@MultipartFile(\"media\") media: PlatformMulterFile, @BodyParams(\"form_id\") formId: string) {\n return {\n file: media.originalname,\n formId\n };\n }\n\n @Post(\"/scenario-3\")\n @Status(201)\n @MulterOptions(getFileConfig())\n uploadWithOptions(@MultipartFile(\"media\") media: PlatformMulterFile) {\n return {\n file: media.originalname\n };\n }\n}\n\nexport function testMulter(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [TestMulterController]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n beforeAll(() => jest.resetAllMocks());\n describe(\"Scenario 1: POST /rest/multer/scenario-1\", () => {\n it(\"should upload file with multer\", async () => {\n const result = await request.post(\"/rest/multer/scenario-1\").attach(\"media\", `${rootDir}/../data/file.txt`).expect(201);\n\n expect(result.text).toEqual(\"file.txt\");\n });\n\n it(\"should throw an exception when there is no file\", async () => {\n const result = await request.post(\"/rest/multer/scenario-1\").expect(400);\n\n expect(result.body).toEqual({\n name: \"REQUIRED_VALIDATION_ERROR\",\n message: \"Bad request on parameter \\\"request.files.media.0\\\".\\nIt should have required parameter 'media.0'\",\n status: 400,\n errors: [\n {\n dataPath: \"\",\n keyword: \"required\",\n message: \"It should have required parameter 'media.0'\",\n modelName: \"files\",\n params: {missingProperty: \"media.0\"},\n schemaPath: \"#/required\"\n }\n ]\n });\n });\n });\n describe(\"Scenario 2: POST /rest/multer/scenario-2\", () => {\n it(\"should upload file with multer\", async () => {\n const result = await request\n .post(\"/rest/multer/scenario-2\")\n .attach(\"media\", `${rootDir}/../data/file.txt`)\n .field({\n form_id: \"form_id\"\n })\n .expect(201);\n\n expect(result.body).toEqual({file: \"file.txt\", formId: \"form_id\"});\n });\n });\n describe(\"Scenario 3: POST /rest/multer/scenario-3\", () => {\n it(\"should upload file with multer\", async () => {\n const result = await request.post(\"/rest/multer/scenario-3\").attach(\"media\", `${rootDir}/../data/file.txt`).field({}).expect(201);\n\n expect(result.body).toEqual({\n file: \"file.txt\"\n });\n\n // filterFilter is called\n expect(fileFilterStub).toBeCalled();\n });\n });\n}\n"]}
1
+ {"version":3,"file":"testMulter.js","sourceRoot":"","sources":["../../../src/tests/testMulter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAsB,YAAY,EAAC,MAAM,cAAc,CAAC;AACpH,OAAO,EAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,cAAc,CAAC;AAC5E,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,MAA4B,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,iCAAiC;AACjC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,WAAW,EAAE,CAAC;AAElC,MAAM,OAAO,IAAI;IAEf,EAAE,CAAS;IAGX,KAAK,CAAS;CACf;AALC;IAAC,QAAQ,EAAE;;gCACA;AAEX;IAAC,QAAQ,EAAE;;mCACG;AAGhB,MAAM,OAAO,KAAK;IAGhB,EAAE,CAAS;IAGX,KAAK,CAAS;CACf;AANC;IAAC,QAAQ,EAAE;IACV,QAAQ,EAAE;;iCACA;AAEX;IAAC,YAAY,CAAC,IAAI,CAAC;;oCACL;AAGhB,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACjC,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,IAAwB,EAAE,QAA4B,EAAE,EAAE;IACtF,cAAc,EAAE,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,SAAS,aAAa;IACpB,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC;YAC1B,WAAW,EAAE,CAAC,GAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,GAAG,OAAO,UAAU,CAAC;gBAClC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjB,CAAC;SACF,CAAC;QACF,UAAU;KACX,CAAC;AACJ,CAAC;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAI/B,cAAc,CAAqC,KAAyB;QAC1E,OAAO,KAAK,CAAC,YAAY,CAAC;IAC5B,CAAC;IAKD,iBAAiB,CAAyB,KAAyB,EAAyB,MAAc;QACxG,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,YAAY;YACxB,MAAM;SACP,CAAC;IACJ,CAAC;IAKD,iBAAiB,CAAyB,KAAyB;QACjE,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,YAAY;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAzBC;IAAC,IAAI,CAAC,aAAa,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC;IACX,aAAa,CAAC,EAAC,IAAI,EAAE,GAAG,OAAO,UAAU,EAAC,CAAC;IAC5B,WAAA,QAAQ,EAAE,CAAA;IAAE,WAAA,aAAa,CAAC,OAAO,CAAC,CAAA;;;;0DAEjD;AAED;IAAC,IAAI,CAAC,aAAa,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC;IACX,aAAa,CAAC,EAAC,IAAI,EAAE,GAAG,OAAO,UAAU,EAAC,CAAC;IACzB,WAAA,aAAa,CAAC,OAAO,CAAC,CAAA;IAA6B,WAAA,UAAU,CAAC,SAAS,CAAC,CAAA;;;;6DAK1F;AAED;IAAC,IAAI,CAAC,aAAa,CAAC;IACnB,MAAM,CAAC,GAAG,CAAC;IACX,aAAa,CAAC,aAAa,EAAE,CAAC;IACZ,WAAA,aAAa,CAAC,OAAO,CAAC,CAAA;;;;6DAIxC;AAzBU,oBAAoB;IADhC,UAAU,CAAC,SAAS,CAAC;GACT,oBAAoB,CA0BhC;SA1BY,oBAAoB;AA4BjC,MAAM,UAAU,UAAU,CAAC,OAA+B;IACxD,IAAI,OAA4C,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;QACzB,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAEtD,SAAS,CACP,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;QACrC,GAAG,OAAO;QACV,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAChC;KACF,CAAC,CACH,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAErH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEzE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC1B,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,kGAAkG;gBAC3G,MAAM,EAAE,GAAG;gBACX,MAAM,EAAE;oBACN;wBACE,QAAQ,EAAE,EAAE;wBACZ,OAAO,EAAE,UAAU;wBACnB,OAAO,EAAE,6CAA6C;wBACtD,SAAS,EAAE,OAAO;wBAClB,MAAM,EAAE,EAAC,eAAe,EAAE,SAAS,EAAC;wBACpC,UAAU,EAAE,YAAY;qBACzB;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,OAAO;iBACzB,IAAI,CAAC,yBAAyB,CAAC;iBAC/B,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,gBAAgB,CAAC;iBAC3C,KAAK,CAAC;gBACL,OAAO,EAAE,SAAS;aACnB,CAAC;iBACD,MAAM,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE/H,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC1B,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;YAEH,yBAAyB;YACzB,MAAM,CAAC,cAAc,CAAC,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testPathParams.js","sourceRoot":"","sources":["../../../src/tests/testPathParams.ts"],"names":[],"mappings":"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","sourcesContent":["import {Context, Controller, Get, PathParams, PlatformTest, Post} from \"@tsed/common\";\nimport {Pattern} from \"@tsed/schema\";\nimport SuperTest from \"supertest\";\nimport {PlatformTestingSdkOpts} from \"../interfaces\";\n\n@Controller(\"/path-params\")\nclass TestPathParamsCtrl {\n @Get(\"/scenario-1/:scope/:scopeId\")\n async testScenario1(@PathParams(\"scope\") scope: string) {\n // Here scope will be {0: 'a', 1: 'b', 2: 'c'} instead of 'abc' in version 5.47.0\n expect(scope).toEqual(\"abc\");\n\n return scope;\n }\n\n @Get(\"/scenario-2/:scope/:scopeId\")\n async testScenario2(@PathParams(\"scope\") scope: any) {\n // This way it works in version 5.47.0\n expect(scope).toEqual(\"abc\");\n\n return scope;\n }\n\n @Post(\"/scenario-3/:scope/:scopeId\")\n async testScenario3(@PathParams(\"scope\") scope: string): Promise<any[]> {\n expect(scope).toEqual(\"abc\");\n\n // Here the function will return {0: 'a', 1: 'b', 2: 'c'} instead of ['a','b','c'] in version 5.44.13\n return [\"a\", \"b\", \"c\"];\n }\n\n @Post(\"/scenario-4/:scope/:scopeId\")\n async testScenario4(@PathParams(\"scope\") scope: string, @Context() ctx: Context) {\n expect(scope).toEqual(\"abc\");\n\n // This way it works in version 5.44.13\n ctx.response.body([\"a\", \"b\", \"c\"]);\n }\n\n @Get(\"/scenario-5/:scopeId\")\n async testScenario5(@PathParams(\"scopeId\") @Pattern(/^[0-9a-fA-F]{24}$/) scopeId: string, @Context() ctx: Context) {\n return \"test\";\n }\n\n @Get(\"/scenario-6/:id\")\n async testScenario6(@PathParams(\"id\") id: number) {\n return {id};\n }\n}\n\nexport function testPathParams(options: PlatformTestingSdkOpts) {\n let request: SuperTest.SuperTest<SuperTest.Test>;\n\n beforeAll(\n PlatformTest.bootstrap(options.server, {\n ...options,\n mount: {\n \"/rest\": [TestPathParamsCtrl]\n }\n })\n );\n beforeAll(() => {\n request = SuperTest(PlatformTest.callback());\n });\n afterAll(PlatformTest.reset);\n\n it(\"Scenario 1: GET /rest/path-params/scenario-1/scope/scopeId\", async () => {\n const response = await request.get(\"/rest/path-params/scenario-1/abc/1\").expect(200);\n\n expect(response.text).toEqual(\"abc\");\n });\n\n it(\"Scenario 2: GET /rest/path-params/scenario-2/scopeId\", async () => {\n const response = await request.get(\"/rest/path-params/scenario-2/abc/1\").expect(200);\n\n expect(response.text).toEqual(\"abc\");\n });\n\n it(\"Scenario 3: POST /rest/path-params/scenario-3/scope/scopeId\", async () => {\n const response = await request.post(\"/rest/path-params/scenario-3/abc/1\").expect(200);\n\n expect(response.body).toEqual([\"a\", \"b\", \"c\"]);\n });\n\n it(\"Scenario 4: POST /rest/path-params/scenario-4/scope/scopeId\", async () => {\n const response = await request.post(\"/rest/path-params/scenario-4/abc/1\").expect(200);\n\n expect(response.body).toEqual([\"a\", \"b\", \"c\"]);\n });\n\n it(\"Scenario 5 a: GET /rest/path-params/scenario-5/scopeId\", async () => {\n const response = await request.get(\"/rest/path-params/scenario-5/1\").expect(400);\n\n expect(response.body).toEqual({\n errors: [\n {\n data: \"1\",\n dataPath: \"\",\n instancePath: \"\",\n keyword: \"pattern\",\n message: 'must match pattern \"^[0-9a-fA-F]{24}$\"',\n params: {\n pattern: \"^[0-9a-fA-F]{24}$\"\n },\n schemaPath: \"#/pattern\"\n }\n ],\n message: 'Bad request on parameter \"request.path.scopeId\".\\nValue must match pattern \"^[0-9a-fA-F]{24}$\". Given value: \"1\"',\n name: \"AJV_VALIDATION_ERROR\",\n status: 400\n });\n });\n it(\"Scenario 5b: GET /rest/path-params/scenario-5/scopeId\", async () => {\n await request.get(\"/rest/path-params/scenario-5/5ce4ee471495836c5e2e4cb0\").expect(200);\n });\n\n it(\"Scenario 6: GET /rest/path-params/scenario-6/id\", async () => {\n const response = await request.get(\"/rest/path-params/scenario-6/1\").expect(200);\n\n expect(response.body).toEqual({id: 1});\n });\n}\n"]}
1
+ {"version":3,"file":"testPathParams.js","sourceRoot":"","sources":["../../../src/tests/testPathParams.ts"],"names":[],"mappings":"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"}