chore: migrate backend to monorepo apps and biome

This commit is contained in:
2026-04-03 18:04:59 +03:00
parent 33ca299632
commit 6032451b17
52 changed files with 956 additions and 1198 deletions

View File

@@ -0,0 +1,22 @@
import { Test, TestingModule } from '@nestjs/testing';
import { BookingsController } from './bookings.controller';
import { BookingsService } from './bookings.service';
describe('BookingsController', () => {
let bookingsController: BookingsController;
beforeEach(async () => {
const app: TestingModule = await Test.createTestingModule({
controllers: [BookingsController],
providers: [BookingsService],
}).compile();
bookingsController = app.get<BookingsController>(BookingsController);
});
describe('root', () => {
it('should return "Hello World!"', () => {
expect(bookingsController.getHello()).toBe('Hello World!');
});
});
});

View File

@@ -0,0 +1,12 @@
import { Controller, Get } from '@nestjs/common';
import { BookingsService } from './bookings.service';
@Controller()
export class BookingsController {
constructor(private readonly bookingsService: BookingsService) {}
@Get()
getHello(): string {
return this.bookingsService.getHello();
}
}

View File

@@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { BookingsController } from './bookings.controller';
import { BookingsService } from './bookings.service';
@Module({
imports: [],
controllers: [BookingsController],
providers: [BookingsService],
})
export class BookingsModule {}

View File

@@ -0,0 +1,8 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class BookingsService {
getHello(): string {
return 'Hello World!';
}
}

View File

@@ -0,0 +1,8 @@
import { NestFactory } from '@nestjs/core';
import { BookingsModule } from './bookings.module';
async function bootstrap() {
const app = await NestFactory.create(BookingsModule);
await app.listen(process.env.BOOKING_PORT ?? 3004);
}
bootstrap();

View File

@@ -0,0 +1,21 @@
import { INestApplication } from '@nestjs/common';
import { Test, TestingModule } from '@nestjs/testing';
import * as request from 'supertest';
import { BookingsModule } from './../src/bookings.module';
describe('BookingsController (e2e)', () => {
let app: INestApplication;
beforeEach(async () => {
const moduleFixture: TestingModule = await Test.createTestingModule({
imports: [BookingsModule],
}).compile();
app = moduleFixture.createNestApplication();
await app.init();
});
it('/ (GET)', () => {
return request(app.getHttpServer()).get('/').expect(200).expect('Hello World!');
});
});

View File

@@ -0,0 +1,9 @@
{
"moduleFileExtensions": ["js", "json", "ts"],
"rootDir": ".",
"testEnvironment": "node",
"testRegex": ".e2e-spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
}
}

View File

@@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declaration": false,
"outDir": "../../dist/apps/bookings"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
}