Skip to content

Commit b35ba3b

Browse files
authored
Merge pull request #97 from zehgreven/master
Adding testcontainers
2 parents d3429f5 + 4990096 commit b35ba3b

File tree

4 files changed

+410
-6
lines changed

4 files changed

+410
-6
lines changed

docker-compose.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: '3.5'
2+
services:
3+
mongodb:
4+
image: mongo
5+
ports:
6+
- 27017:27017
7+
command:
8+
- 'mongod'

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
"pino-pretty": "^7.3.0",
7979
"prettier": "^2.5.1",
8080
"supertest": "^6.1.6",
81+
"testcontainers": "^8.12.0",
8182
"ts-jest": "^27.1.2",
8283
"ts-node-dev": "^1.1.8",
8384
"typescript": "^4.5.4"

test/jest-setup.ts

+21-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,31 @@
11
import { SetupServer } from '@src/server';
22
import supertest from 'supertest';
3+
import path from 'path';
4+
import {
5+
DockerComposeEnvironment,
6+
StartedDockerComposeEnvironment,
7+
Wait,
8+
} from 'testcontainers';
9+
10+
const composeFilePath = path.resolve(__dirname, '..');
11+
const composeFile = 'docker-compose.yml';
12+
let environment: StartedDockerComposeEnvironment;
313

414
let server: SetupServer;
15+
16+
jest.setTimeout(20000);
17+
518
beforeAll(async () => {
19+
environment = await new DockerComposeEnvironment(composeFilePath, composeFile)
20+
.withWaitStrategy('mongodb', Wait.forHealthCheck())
21+
.up(['mongodb']);
22+
623
server = new SetupServer();
724
await server.init();
825
global.testRequest = supertest(server.getApp());
926
});
1027

11-
afterAll(async () => await server.close());
28+
afterAll(async () => {
29+
await server.close();
30+
await environment.down();
31+
});

0 commit comments

Comments
 (0)