From c06d6d6debdde5788b9d42193a043a853d64f4d8 Mon Sep 17 00:00:00 2001 From: wancat Date: Thu, 8 Feb 2024 17:40:01 +0800 Subject: [PATCH] change e2e to use node module --- .env.dev | 4 ++++ app/Dockerfile | 2 +- docker-compose.testing.yml | 4 ++-- server/package.json | 2 +- server/src/config.js | 5 +++++ tests/Dockerfile | 9 ++++++--- tests/{cypress.config.js => cypress.config.mjs} | 11 +++++++---- tests/package.json | 5 +++-- 8 files changed, 29 insertions(+), 13 deletions(-) create mode 100644 .env.dev rename tests/{cypress.config.js => cypress.config.mjs} (84%) diff --git a/.env.dev b/.env.dev new file mode 100644 index 0000000..9bd9af8 --- /dev/null +++ b/.env.dev @@ -0,0 +1,4 @@ +TESTING=true +TESTING_USERNAME=alex +TESTING_PASSWORD=Alex1234 +SECRET_KEY=b1d2e917-17b9-4fce-9055-082dee6ec5d6 \ No newline at end of file diff --git a/app/Dockerfile b/app/Dockerfile index 0d786c5..bd705d2 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -8,7 +8,7 @@ COPY packages/file-graph/package.json ./packages/file-graph/package.json COPY packages/utils/package.json ./packages/utils/package.json COPY packages/constants/package.json ./packages/constants/package.json COPY app/package.json ./app/package.json -RUN yarn install +RUN yarn install # Dev stage FROM base as dev diff --git a/docker-compose.testing.yml b/docker-compose.testing.yml index 2691c7f..bf0b408 100644 --- a/docker-compose.testing.yml +++ b/docker-compose.testing.yml @@ -6,8 +6,8 @@ services: dockerfile: tests/Dockerfile networks: - internal - volumes: - - ./tests:/e2e/tests + # volumes: + # - ./tests:/e2e/tests environment: - BASE_URL=http://app-test - TESTING_USERNAME=alex diff --git a/server/package.json b/server/package.json index 7562dae..0cdeebf 100644 --- a/server/package.json +++ b/server/package.json @@ -9,7 +9,7 @@ "setup": "node dist/cli/setup.js", "clean": "node dist/cli/clean.js", "build": "tsc", - "watch": "concurrently \"tsc -w\" \"nodemon\"", + "watch": "concurrently \"nodemon\" \"tsc -w\"", "build:quests": "node dist/cli/build.js" }, "dependencies": { diff --git a/server/src/config.js b/server/src/config.js index 2f7b7c8..9634c1f 100644 --- a/server/src/config.js +++ b/server/src/config.js @@ -4,6 +4,9 @@ import { get } from './utils/env.js' // Import dotenv and load ../.env dotenv.config({ path: '../.env' }) +if (process.env.NODE_ENV !== 'production') { + dotenv.config({ path: '../.env.dev' }) +} function getTrustProxies(key) { if (!process.env[key]) { @@ -68,4 +71,6 @@ export function getQuestImage(id) { return `${config.docker.imagePrefix}${id}` } +console.log(config) + export default config diff --git a/tests/Dockerfile b/tests/Dockerfile index 0e35d91..6c56099 100644 --- a/tests/Dockerfile +++ b/tests/Dockerfile @@ -1,10 +1,13 @@ -FROM cypress/included:13.5.1 +FROM cypress/browsers:node-20.11.0-chrome-121.0.6167.85-1-ff-120.0-edge-121.0.2277.83-1 WORKDIR /e2e +RUN yarn set version stable COPY package.json yarn.lock ./ COPY tests/package.json ./tests/package.json -RUN yarn install --frozen-lockfile +RUN yarn config set -H enableImmutableInstalls false +RUN yarn install COPY quests ./quests COPY tests ./tests -WORKDIR /e2e/tests \ No newline at end of file +WORKDIR /e2e/tests +CMD [ "yarn", "test:e2e" ] \ No newline at end of file diff --git a/tests/cypress.config.js b/tests/cypress.config.mjs similarity index 84% rename from tests/cypress.config.js rename to tests/cypress.config.mjs index b2bb72e..354bdc7 100644 --- a/tests/cypress.config.js +++ b/tests/cypress.config.mjs @@ -1,6 +1,9 @@ -const { defineConfig } = require('cypress') -const process = require('process') -require('dotenv').config({ path: '../.env' }) +import { defineConfig } from 'cypress' +import process from 'process' +import dotenv from 'dotenv' + +dotenv.config({ path: '../.env.dev' }) +dotenv.config({ path: '../.env' }) const getConfig = (key, defaultValue) => { return process.env[key] || defaultValue @@ -14,7 +17,7 @@ const getOrFail = (key) => { return value } -module.exports = defineConfig({ +export default defineConfig({ e2e: { baseUrl: getConfig('BASE_URL', 'http://localhost:5173'), viewportWidth: 1920, diff --git a/tests/package.json b/tests/package.json index 18332d0..46b0294 100644 --- a/tests/package.json +++ b/tests/package.json @@ -3,10 +3,11 @@ "version": "1.0.0", "private": true, "main": "index.js", + "type": "module", "license": "MIT", "scripts": { - "test": "TESTING_USERNAME=alex TESTING_PASSWORD=Alex1234 cypress run", - "test:open": "TESTING_USERNAME=alex TESTING_PASSWORD=Alex1234 cypress open" + "test": "yarn cypress run", + "test:open": "yarn cypress open" }, "dependencies": { "@testing-library/cypress": "^10.0.1",