Skip to content

Commit

Permalink
feat(apps-backend): add e2e tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
panteleymonchuk committed Oct 29, 2024
1 parent 83f0483 commit 7b3f802
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 2 deletions.
13 changes: 13 additions & 0 deletions apps/apps-backend/jest-e2e.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"moduleFileExtensions": ["js", "json", "ts"],
"rootDir": "./",
"testRegex": ".e2e-spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"testEnvironment": "node",
"moduleNameMapper": {
"^src/(.*)$": "<rootDir>/dist/$1",
"^@iota/core/(.*)$": "<rootDir>/dist/core/src/$1"
}
}
5 changes: 3 additions & 2 deletions apps/apps-backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
"format": "prettier --write \"src/**/*.ts\"",
"dev": "nest start --watch",
"debug": "nest start --debug --watch",
"preview": "pnpm run build && node dist/main",
"lint": "eslint --max-warnings=0 \"{src,apps,libs,test}/**/*.ts\""
"preview": "pnpm run build && node dist/apps-backend/src/main",
"lint": "eslint --max-warnings=0 \"{src,apps,libs,test}/**/*.ts\"",
"test:e2e": "jest --config ./jest-e2e.json"
},
"dependencies": {
"@iota/core": "workspace:*",
Expand Down
2 changes: 2 additions & 0 deletions apps/apps-backend/src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { FeaturesModule } from './features/features.module';
import { MonitorNetworkModule } from './monitor-network/monitor-network.module';
import { PricesModule } from './prices/prices.module';
import { RestrictedModule } from './restricted/restricted.module';
import { HealthModule } from './health/health.module';

@Module({
imports: [
Expand All @@ -30,6 +31,7 @@ import { RestrictedModule } from './restricted/restricted.module';
ttl: 3600,
max: 100,
}),
HealthModule,
],
})
export class AppModule {}
12 changes: 12 additions & 0 deletions apps/apps-backend/src/health/health.controller.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Copyright (c) 2024 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0

import { Controller, Get } from '@nestjs/common';

@Controller('health')
export class HealthController {
@Get()
check() {
return { status: 'ok' };
}
}
10 changes: 10 additions & 0 deletions apps/apps-backend/src/health/health.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Copyright (c) 2024 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0

import { Module } from '@nestjs/common';
import { HealthController } from './health.controller';

@Module({
controllers: [HealthController],
})
export class HealthModule {}
28 changes: 28 additions & 0 deletions apps/apps-backend/test/health.e2e-spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// Copyright (c) 2024 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0

import { Test, TestingModule } from '@nestjs/testing';
import { INestApplication } from '@nestjs/common';
import * as request from 'supertest';
import { AppModule } from '../src/app.module';

describe('Health Check (e2e)', () => {
let app: INestApplication;

beforeAll(async () => {
const moduleFixture: TestingModule = await Test.createTestingModule({
imports: [AppModule],
}).compile();

app = moduleFixture.createNestApplication();
await app.init();
});

afterAll(async () => {
await app.close();
});

it('/health (GET)', () => {
return request(app.getHttpServer()).get('/health').expect(200).expect({ status: 'ok' });
});
});

0 comments on commit 7b3f802

Please sign in to comment.