diff --git a/packages/backend/.env-example.test b/packages/backend/.env-example.test new file mode 100644 index 00000000..fc36c045 --- /dev/null +++ b/packages/backend/.env-example.test @@ -0,0 +1,16 @@ +APP_ENV=test +HOST=localhost +PROTOCOL=http +PORT=3000 +LOG_LEVEL=debug +WEBHOOK_SECRET_KEY=secret +POSTGRES_DATABASE=automatisch_test +POSTGRES_PORT=5432 +POSTGRES_HOST=localhost +POSTGRES_USERNAME=automatisch_test_user +POSTGRES_PASSWORD= +POSTGRES_ENABLE_SSL=false +ENCRYPTION_KEY=secret +APP_SECRET_KEY=secret +REDIS_PORT=6379 +REDIS_HOST=127.0.0.1 diff --git a/packages/backend/package.json b/packages/backend/package.json index f1efeec2..997341a9 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -9,7 +9,7 @@ "build": "tsc && yarn copy-statics", "build:watch": "nodemon --watch 'src/**/*.ts' --watch 'bin/**/*.ts' --exec yarn build --ext ts", "start": "node dist/src/server.js", - "pretest": "APP_ENV=test ts-node ./test/setup/create-database.ts", + "pretest": "APP_ENV=test ts-node ./test/setup/prepare-test-env.ts", "test": "APP_ENV=test ava", "lint": "eslint . --ignore-path ../../.eslintignore", "db:create": "ts-node ./bin/database/create.ts", diff --git a/packages/backend/test/setup/check-env-file.ts b/packages/backend/test/setup/check-env-file.ts new file mode 100644 index 00000000..4fb6839c --- /dev/null +++ b/packages/backend/test/setup/check-env-file.ts @@ -0,0 +1,10 @@ +import path from 'path'; +import fs from 'fs'; + +const testEnvFile = path.resolve(__dirname, '../../.env.test'); + +if (!fs.existsSync(testEnvFile)) { + throw new Error( + 'Test environment file (.env.test) not found! You can copy .env-example.test to .env.test and fill it with your own values.' + ); +} diff --git a/packages/backend/test/setup/prepare-test-env.ts b/packages/backend/test/setup/prepare-test-env.ts new file mode 100644 index 00000000..a46ac8f6 --- /dev/null +++ b/packages/backend/test/setup/prepare-test-env.ts @@ -0,0 +1,2 @@ +import './check-env-file'; +import './create-database';