From e4d611ef8ed77d6c821cfa78f2b4c600f614fc24 Mon Sep 17 00:00:00 2001 From: Aaro Koivukangas Date: Fri, 27 Sep 2024 20:39:09 +0200 Subject: [PATCH] made preparations for coverage --- backend/.gitignore | 1 + backend/Dockerfile | 8 ++++---- backend/jest-config.js | 13 +++++++++++++ backend/package.json | 7 +------ docker-compose.test.yml | 6 ++++-- package-lock.json | 1 - package.json | 1 - 7 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 backend/jest-config.js diff --git a/backend/.gitignore b/backend/.gitignore index 6be0eadf..6149fd00 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -4,3 +4,4 @@ node_modules build requests prisma/generated +coverage diff --git a/backend/Dockerfile b/backend/Dockerfile index b09d780a..b681dff1 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -54,15 +54,15 @@ ENV NODE_ENV=production CMD ["node", "src/index.js"] + FROM node:20-alpine3.16 AS api-tests USER node +COPY --chown=node --from=backend-build /usr/src/app /usr/src/app + WORKDIR /usr/src/app/backend -COPY --chown=node backend/package.json . -COPY --chown=node backend/package-lock.json . - RUN npm ci +RUN npm run prisma -COPY --chown=node backend . CMD ["npm", "run", "test"] diff --git a/backend/jest-config.js b/backend/jest-config.js new file mode 100644 index 00000000..429827b6 --- /dev/null +++ b/backend/jest-config.js @@ -0,0 +1,13 @@ +module.exports = { + testPathIgnorePatterns: [ + "/build", + "/node_modules", + ], + collectCoverageFrom: [ + "./src/**", + "!./src/api-tests/**" + ], + roots: [ + "./src" + ] +} diff --git a/backend/package.json b/backend/package.json index 5e39d483..f6edcb45 100644 --- a/backend/package.json +++ b/backend/package.json @@ -6,18 +6,13 @@ "scripts": { "dev": "npx tsx watch --clear-screen=false src/index.ts", "build": "tsc", - "test": "jest src/api-tests --runInBand", + "test": "jest src/api-tests --runInBand --coverage --config jest-config.js --detectOpenHandles --forceExit", "test:with_reset": "cd .. && npm run anon:down && npm run start:anon -- -d && sleep 60 && cd backend && npm run test; cd .. && npm run anon:down", "start": "node build/index.js", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "prisma": "prisma generate --schema prisma/schema.prisma && prisma generate --schema prisma/schema_log.prisma", "clean": "rm -rf node_modules && rm -rf prisma/generated && rm -rf build" }, - "jest": { - "testPathIgnorePatterns": ["build", "node_modules", "prisma"], - "testEnvironment": "node", - "roots": ["src"] - }, "author": "", "devDependencies": { "@babel/core": "^7.18.5", diff --git a/docker-compose.test.yml b/docker-compose.test.yml index c1825568..8359df2d 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -39,8 +39,10 @@ services: depends_on: db-anon: condition: service_healthy - backend: - condition: service_healthy + env_file: .anon.env + volumes: + - ./test_data:/usr/src/app/test_data + - ./backend/coverage:/usr/src/app/backend/coverage environment: API_TESTS_BASEURL: http://backend:4000 build: diff --git a/package-lock.json b/package-lock.json index 71c2a626..1aeef879 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,6 @@ "version": "1.0.0", "devDependencies": { "@types/leaflet": "^1.9.12", - "@types/supertest": "^6.0.2", "cypress": "^13.11.0", "supertest": "^7.0.0" } diff --git a/package.json b/package.json index 04d74c16..db456710 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,6 @@ "author": "", "devDependencies": { "@types/leaflet": "^1.9.12", - "@types/supertest": "^6.0.2", "cypress": "^13.11.0", "supertest": "^7.0.0" }