diff --git a/tests/fixtures/controllers/controllerWithRenamedMethodImport.ts b/tests/fixtures/controllers/controllerWithRenamedMethodImport.ts new file mode 100644 index 000000000..3dd09b9db --- /dev/null +++ b/tests/fixtures/controllers/controllerWithRenamedMethodImport.ts @@ -0,0 +1,12 @@ +import { Controller, Get as RequestGet, Route } from '@tsoa/runtime'; +import { ModelService } from '../services/modelService'; +import { TestModel } from '../testModel'; + +@Route('RenamedMethodImport') +export class RenamedMethodImportController extends Controller { + + @RequestGet() + public async get(): Promise { + return Promise.resolve(new ModelService().getModel()); + } +} diff --git a/tests/fixtures/controllers/controllerWithRenamedModelImport.ts b/tests/fixtures/controllers/controllerWithRenamedModelImport.ts new file mode 100644 index 000000000..5f0f32ddc --- /dev/null +++ b/tests/fixtures/controllers/controllerWithRenamedModelImport.ts @@ -0,0 +1,12 @@ +import { Controller, Get, Route } from '@tsoa/runtime'; +import { ModelService } from '../services/modelService'; +import { TestModel as TestModelRenamed } from '../testModel'; + +@Route('RenamedModelImport') +export class RenamedModelImportsController extends Controller { + + @Get() + public async get(): Promise { + return Promise.resolve(new ModelService().getModel()); + } +} diff --git a/tests/unit/swagger/pathGeneration/renamedImports.spec.ts b/tests/unit/swagger/pathGeneration/renamedImports.spec.ts new file mode 100644 index 000000000..c86db3b48 --- /dev/null +++ b/tests/unit/swagger/pathGeneration/renamedImports.spec.ts @@ -0,0 +1,35 @@ +import 'mocha'; +import { MetadataGenerator } from '@tsoa/cli/metadataGeneration/metadataGenerator'; +import { SpecGenerator2 } from '@tsoa/cli/swagger/specGenerator2'; +import { getDefaultExtendedOptions } from 'fixtures/defaultOptions'; +import { VerifyPath } from 'unit/utilities/verifyPath'; + +describe('Renamed imports', () => { + describe('method', () => { + const metadata = new MetadataGenerator('./fixtures/controllers/controllerWithRenamedMethodImport.ts').Generate(); + const spec = new SpecGenerator2(metadata, getDefaultExtendedOptions()).GetSpec(); + const baseRoute = '/RenamedMethodImport'; + + it('should generate a path for a function with a renamed method decorator', () => { + verifyPath(baseRoute); + }); + + function verifyPath(route: string, isCollection?: boolean, isNoContent?: boolean) { + return VerifyPath(spec, route, path => path.get, isCollection, isNoContent); + } + }); + + describe('model', () => { + const metadata = new MetadataGenerator('./fixtures/controllers/controllerWithRenamedModelImport.ts').Generate(); + const spec = new SpecGenerator2(metadata, getDefaultExtendedOptions()).GetSpec(); + const baseRoute = '/RenamedModelImport'; + + it('should generate a path for a function with a renamed model', () => { + verifyPath(baseRoute); + }); + + function verifyPath(route: string, isCollection?: boolean, isNoContent?: boolean) { + return VerifyPath(spec, route, path => path.get, isCollection, isNoContent); + } + }); +});