From 4834c4f8afeead9f02753547d91df10c9a746245 Mon Sep 17 00:00:00 2001 From: Ferdi Koomen Date: Thu, 24 Sep 2020 16:22:33 +0200 Subject: [PATCH] - Working on test server --- test/server/src/AppModule.ts | 7 ++++++- .../src/controllers/DefaultsController.ts | 20 +++++++++++++++++++ .../src/controllers/ParametersController.ts | 20 +++++++++++++++++++ .../src/controllers/ResponseController.ts | 20 +++++++++++++++++++ .../src/controllers/SimpleController.ts | 20 +++++++++++++++++++ test/server/src/main.ts | 13 +++++------- test/server/src/models/ModelThatExtends.ts | 6 ++++++ .../src/models/ModelThatExtendsExtends.ts | 6 ++++++ test/server/src/models/ModelWithArray.ts | 6 ++++++ test/server/src/models/ModelWithBoolean.ts | 6 ++++++ test/server/src/models/ModelWithDictionary.ts | 6 ++++++ test/server/src/models/ModelWithInteger.ts | 6 ++++++ test/server/src/models/ModelWithPattern.ts | 6 ++++++ test/server/src/models/ModelWithProperties.ts | 6 ++++++ test/server/src/models/ModelWithReference.ts | 6 ++++++ test/server/src/models/ModelWithString.ts | 6 ++++++ test/server/tsconfig.json | 2 +- tsconfig.json | 2 +- 18 files changed, 153 insertions(+), 11 deletions(-) create mode 100644 test/server/src/controllers/DefaultsController.ts create mode 100644 test/server/src/controllers/ParametersController.ts create mode 100644 test/server/src/controllers/ResponseController.ts create mode 100644 test/server/src/controllers/SimpleController.ts create mode 100644 test/server/src/models/ModelThatExtends.ts create mode 100644 test/server/src/models/ModelThatExtendsExtends.ts create mode 100644 test/server/src/models/ModelWithArray.ts create mode 100644 test/server/src/models/ModelWithBoolean.ts create mode 100644 test/server/src/models/ModelWithDictionary.ts create mode 100644 test/server/src/models/ModelWithInteger.ts create mode 100644 test/server/src/models/ModelWithPattern.ts create mode 100644 test/server/src/models/ModelWithProperties.ts create mode 100644 test/server/src/models/ModelWithReference.ts create mode 100644 test/server/src/models/ModelWithString.ts diff --git a/test/server/src/AppModule.ts b/test/server/src/AppModule.ts index a35be9b4..5cd8d95d 100644 --- a/test/server/src/AppModule.ts +++ b/test/server/src/AppModule.ts @@ -1,7 +1,12 @@ import { Module } from '@nestjs/common'; +import { DefaultsController } from './controllers/DefaultsController'; +import { ParametersController } from './controllers/ParametersController'; +import { ResponseController } from './controllers/ResponseController'; +import { SimpleController } from './controllers/SimpleController'; + @Module({ - controllers: [], + controllers: [SimpleController, ParametersController, DefaultsController, ResponseController], }) export class AppModule { // diff --git a/test/server/src/controllers/DefaultsController.ts b/test/server/src/controllers/DefaultsController.ts new file mode 100644 index 00000000..5bbe96bb --- /dev/null +++ b/test/server/src/controllers/DefaultsController.ts @@ -0,0 +1,20 @@ +import { Controller, Get, Param } from '@nestjs/common'; +import { ApiResponse, ApiTags } from '@nestjs/swagger'; + +import { ModelWithString } from '../models/ModelWithString'; + +/* eslint-disable @typescript-eslint/no-unused-vars */ +@ApiTags('defaults') +@Controller('defaults') +export class DefaultsController { + @Get('monkey') + @ApiResponse({ + status: 200, + type: ModelWithString, + }) + monkey(@Param('id') id: string): ModelWithString { + return { + prop: 'Hello World!', + }; + } +} diff --git a/test/server/src/controllers/ParametersController.ts b/test/server/src/controllers/ParametersController.ts new file mode 100644 index 00000000..4ac90101 --- /dev/null +++ b/test/server/src/controllers/ParametersController.ts @@ -0,0 +1,20 @@ +import { Controller, Get, Param } from '@nestjs/common'; +import { ApiResponse, ApiTags } from '@nestjs/swagger'; + +import { ModelWithString } from '../models/ModelWithString'; + +/* eslint-disable @typescript-eslint/no-unused-vars */ +@ApiTags('parameters') +@Controller('parameters') +export class ParametersController { + @Get('monkey') + @ApiResponse({ + status: 200, + type: ModelWithString, + }) + monkey(@Param('id') id: string): ModelWithString { + return { + prop: 'Hello World!', + }; + } +} diff --git a/test/server/src/controllers/ResponseController.ts b/test/server/src/controllers/ResponseController.ts new file mode 100644 index 00000000..2e31fd1c --- /dev/null +++ b/test/server/src/controllers/ResponseController.ts @@ -0,0 +1,20 @@ +import { Controller, Get, Param } from '@nestjs/common'; +import { ApiResponse, ApiTags } from '@nestjs/swagger'; + +import { ModelWithString } from '../models/ModelWithString'; + +/* eslint-disable @typescript-eslint/no-unused-vars */ +@ApiTags('response') +@Controller('response') +export class ResponseController { + @Get('monkey') + @ApiResponse({ + status: 200, + type: ModelWithString, + }) + monkey(@Param('id') id: string): ModelWithString { + return { + prop: 'Hello World!', + }; + } +} diff --git a/test/server/src/controllers/SimpleController.ts b/test/server/src/controllers/SimpleController.ts new file mode 100644 index 00000000..944ddaf2 --- /dev/null +++ b/test/server/src/controllers/SimpleController.ts @@ -0,0 +1,20 @@ +import { Controller, Get, Param } from '@nestjs/common'; +import { ApiResponse, ApiTags } from '@nestjs/swagger'; + +import { ModelWithString } from '../models/ModelWithString'; + +/* eslint-disable @typescript-eslint/no-unused-vars */ +@ApiTags('simple') +@Controller('simple') +export class SimpleController { + @Get('monkey') + @ApiResponse({ + status: 200, + type: ModelWithString, + }) + monkey(@Param('id') id: string): ModelWithString { + return { + prop: 'Hello World!', + }; + } +} diff --git a/test/server/src/main.ts b/test/server/src/main.ts index 1c0bee1a..0648b311 100644 --- a/test/server/src/main.ts +++ b/test/server/src/main.ts @@ -1,15 +1,12 @@ -import {NestFactory} from '@nestjs/core'; -import {DocumentBuilder, SwaggerModule} from '@nestjs/swagger'; -import {AppModule} from './AppModule'; +import { NestFactory } from '@nestjs/core'; +import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; + +import { AppModule } from './AppModule'; async function bootstrap(): Promise { const app = await NestFactory.create(AppModule); - const options = new DocumentBuilder() - .setTitle('OpenAPI') - .setDescription('The OpenAPI description') - .setVersion('1.0') - .build(); + const options = new DocumentBuilder().setTitle('OpenAPI').setDescription('The OpenAPI description').setVersion('1.0').build(); const document = SwaggerModule.createDocument(app, options); diff --git a/test/server/src/models/ModelThatExtends.ts b/test/server/src/models/ModelThatExtends.ts new file mode 100644 index 00000000..b845a5a9 --- /dev/null +++ b/test/server/src/models/ModelThatExtends.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelThatExtends { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelThatExtendsExtends.ts b/test/server/src/models/ModelThatExtendsExtends.ts new file mode 100644 index 00000000..2b872581 --- /dev/null +++ b/test/server/src/models/ModelThatExtendsExtends.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelThatExtendsExtends { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithArray.ts b/test/server/src/models/ModelWithArray.ts new file mode 100644 index 00000000..02fb56d7 --- /dev/null +++ b/test/server/src/models/ModelWithArray.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithArray { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithBoolean.ts b/test/server/src/models/ModelWithBoolean.ts new file mode 100644 index 00000000..ee5348a3 --- /dev/null +++ b/test/server/src/models/ModelWithBoolean.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithBoolean { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithDictionary.ts b/test/server/src/models/ModelWithDictionary.ts new file mode 100644 index 00000000..e75053eb --- /dev/null +++ b/test/server/src/models/ModelWithDictionary.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithDictionary { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithInteger.ts b/test/server/src/models/ModelWithInteger.ts new file mode 100644 index 00000000..5a1773e9 --- /dev/null +++ b/test/server/src/models/ModelWithInteger.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithInteger { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithPattern.ts b/test/server/src/models/ModelWithPattern.ts new file mode 100644 index 00000000..19e24f4c --- /dev/null +++ b/test/server/src/models/ModelWithPattern.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithPattern { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithProperties.ts b/test/server/src/models/ModelWithProperties.ts new file mode 100644 index 00000000..a7f04d5d --- /dev/null +++ b/test/server/src/models/ModelWithProperties.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithProperties { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithReference.ts b/test/server/src/models/ModelWithReference.ts new file mode 100644 index 00000000..db83819a --- /dev/null +++ b/test/server/src/models/ModelWithReference.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithReference { + @ApiProperty() + prop?: number; +} diff --git a/test/server/src/models/ModelWithString.ts b/test/server/src/models/ModelWithString.ts new file mode 100644 index 00000000..eaecc169 --- /dev/null +++ b/test/server/src/models/ModelWithString.ts @@ -0,0 +1,6 @@ +import { ApiProperty } from '@nestjs/swagger'; + +export class ModelWithString { + @ApiProperty() + prop?: string; +} diff --git a/test/server/tsconfig.json b/test/server/tsconfig.json index c8ec7ff4..a5343cfe 100644 --- a/test/server/tsconfig.json +++ b/test/server/tsconfig.json @@ -24,7 +24,7 @@ }, "include": [ - "./src/main.ts" + "./src/**/*.ts" ], "exclude": [ diff --git a/tsconfig.json b/tsconfig.json index 06c4607c..486fa1ab 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,7 +26,7 @@ ], "include": [ - "./src/index.ts" + "./src/**/*.ts" ], "exclude": [