mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
Run dotenv in E2E codebase itself
This commit is contained in:
parent
5366ba708f
commit
b79bee6606
9
.github/workflows/e2e-api-tests.yaml
vendored
9
.github/workflows/e2e-api-tests.yaml
vendored
@ -34,10 +34,10 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Create .env.local file for stack-backend
|
||||
- name: Create .env.production.local file for stack-backend
|
||||
run: cp apps/backend/.env.development apps/backend/.env.production.local
|
||||
|
||||
- name: Create .env.local file for stack-dashboard
|
||||
- name: Create .env.production.local file for stack-dashboard
|
||||
run: cp apps/dashboard/.env.development apps/dashboard/.env.production.local
|
||||
|
||||
- name: Build stack-backend
|
||||
@ -51,6 +51,11 @@ jobs:
|
||||
- name: Initialize database
|
||||
run: pnpm run prisma -- migrate reset --force
|
||||
|
||||
- name: Start stack-backend in background
|
||||
run: pnpm run start:backend &
|
||||
- name: Wait for stack-backend to start
|
||||
run: npx wait-on@7.2.0 http://localhost:8102
|
||||
|
||||
- name: Start stack-dashboard in background
|
||||
run: pnpm run start:dashboard &
|
||||
- name: Wait for stack-dashboard to start
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"test:watch": "dotenv -c development -- vitest watch",
|
||||
"test": "dotenv -c development -- vitest run",
|
||||
"test:watch": "vitest watch",
|
||||
"test": "vitest run",
|
||||
"lint": "eslint --ext .tsx,.ts .",
|
||||
"clean": "rimraf dist && rimraf node_modules"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"dotenv-cli": "7.4.1"
|
||||
"dotenv": "^16.4.5"
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,13 +40,11 @@ async function signInWithEmailPassword(email: string, password: string) {
|
||||
describe("Various internal project tests", () => {
|
||||
test("Main Page", async () => {
|
||||
const response = await request(BASE_URL).get("/");
|
||||
console.log(response);
|
||||
expect(response.status).toBe(307);
|
||||
});
|
||||
|
||||
test("API root (no authentication)", async () => {
|
||||
const response = await request(BASE_URL).get("/api/v1");
|
||||
console.log(response);
|
||||
expect(response.status).toBe(200);
|
||||
expect(response.text).contains("Stack API");
|
||||
expect(response.text).contains("Authentication: None");
|
||||
@ -54,21 +52,18 @@ describe("Various internal project tests", () => {
|
||||
|
||||
test("Credential sign up", async () => {
|
||||
const { response } = await signUpWithEmailPassword();
|
||||
console.log(response);
|
||||
expect(response.status).toBe(200);
|
||||
});
|
||||
|
||||
test("Credential sign in", async () => {
|
||||
const { email, password } = await signUpWithEmailPassword();
|
||||
const { response } = await signInWithEmailPassword(email, password);
|
||||
console.log(response);
|
||||
|
||||
expect(response.status).toBe(200);
|
||||
});
|
||||
|
||||
test("No current user without authentication", async () => {
|
||||
const response = await request(BASE_URL).get("/api/v1/current-user").set(AUTH_HEADER);
|
||||
console.log(response);
|
||||
expect(response.status).toBe(200);
|
||||
expect(response.body).toBe(null);
|
||||
});
|
||||
|
||||
14
apps/e2e/tests/global-setup.ts
Normal file
14
apps/e2e/tests/global-setup.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import dotenv from "dotenv";
|
||||
|
||||
export default function globalSetup() {
|
||||
dotenv.config({
|
||||
path: [
|
||||
".env.development.local",
|
||||
".env.local",
|
||||
".env.development",
|
||||
".env",
|
||||
],
|
||||
});
|
||||
|
||||
return () => {};
|
||||
}
|
||||
@ -5,8 +5,8 @@
|
||||
"rootDir": "tests",
|
||||
"declaration": true,
|
||||
"target": "ESNext",
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Bundler",
|
||||
"esModuleInterop": true,
|
||||
"noErrorTruncation": true,
|
||||
"strict": true,
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
import { defineConfig } from 'vitest/config'
|
||||
import react from '@vitejs/plugin-react'
|
||||
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react()],
|
||||
test: {
|
||||
environment: 'node',
|
||||
testTimeout: 20_000,
|
||||
globalSetup: './tests/global-setup.ts',
|
||||
},
|
||||
})
|
||||
|
||||
@ -506,9 +506,9 @@ importers:
|
||||
|
||||
apps/e2e:
|
||||
devDependencies:
|
||||
dotenv-cli:
|
||||
specifier: 7.4.1
|
||||
version: 7.4.1
|
||||
dotenv:
|
||||
specifier: ^16.4.5
|
||||
version: 16.4.5
|
||||
|
||||
docs:
|
||||
dependencies:
|
||||
@ -10018,7 +10018,7 @@ snapshots:
|
||||
rollup: 2.78.0
|
||||
stacktrace-parser: 0.1.10
|
||||
optionalDependencies:
|
||||
webpack: 5.92.0(@swc/core@1.3.101)(esbuild@0.21.5)
|
||||
webpack: 5.92.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)
|
||||
transitivePeerDependencies:
|
||||
- encoding
|
||||
- supports-color
|
||||
@ -14994,7 +14994,7 @@ snapshots:
|
||||
|
||||
term-size@2.2.1: {}
|
||||
|
||||
terser-webpack-plugin@5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)(webpack@5.92.0(@swc/core@1.3.101)(esbuild@0.21.5)):
|
||||
terser-webpack-plugin@5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)(webpack@5.92.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
jest-worker: 27.5.1
|
||||
@ -15006,19 +15006,6 @@ snapshots:
|
||||
'@swc/core': 1.3.101(@swc/helpers@0.5.11)
|
||||
esbuild: 0.19.11
|
||||
|
||||
terser-webpack-plugin@5.3.10(@swc/core@1.3.101)(esbuild@0.21.5)(webpack@5.92.0(@swc/core@1.3.101)(esbuild@0.21.5)):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
jest-worker: 27.5.1
|
||||
schema-utils: 3.3.0
|
||||
serialize-javascript: 6.0.2
|
||||
terser: 5.31.1
|
||||
webpack: 5.92.0(@swc/core@1.3.101)(esbuild@0.21.5)
|
||||
optionalDependencies:
|
||||
'@swc/core': 1.3.101(@swc/helpers@0.5.11)
|
||||
esbuild: 0.21.5
|
||||
optional: true
|
||||
|
||||
terser@5.31.1:
|
||||
dependencies:
|
||||
'@jridgewell/source-map': 0.3.6
|
||||
@ -15508,7 +15495,7 @@ snapshots:
|
||||
neo-async: 2.6.2
|
||||
schema-utils: 3.3.0
|
||||
tapable: 2.2.1
|
||||
terser-webpack-plugin: 5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)(webpack@5.92.0(@swc/core@1.3.101)(esbuild@0.21.5))
|
||||
terser-webpack-plugin: 5.3.10(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11)(webpack@5.92.0(@swc/core@1.3.101(@swc/helpers@0.5.11))(esbuild@0.19.11))
|
||||
watchpack: 2.4.1
|
||||
webpack-sources: 3.2.3
|
||||
transitivePeerDependencies:
|
||||
@ -15516,38 +15503,6 @@ snapshots:
|
||||
- esbuild
|
||||
- uglify-js
|
||||
|
||||
webpack@5.92.0(@swc/core@1.3.101)(esbuild@0.21.5):
|
||||
dependencies:
|
||||
'@types/eslint-scope': 3.7.7
|
||||
'@types/estree': 1.0.5
|
||||
'@webassemblyjs/ast': 1.12.1
|
||||
'@webassemblyjs/wasm-edit': 1.12.1
|
||||
'@webassemblyjs/wasm-parser': 1.12.1
|
||||
acorn: 8.12.0
|
||||
acorn-import-attributes: 1.9.5(acorn@8.12.0)
|
||||
browserslist: 4.23.1
|
||||
chrome-trace-event: 1.0.4
|
||||
enhanced-resolve: 5.17.0
|
||||
es-module-lexer: 1.5.3
|
||||
eslint-scope: 5.1.1
|
||||
events: 3.3.0
|
||||
glob-to-regexp: 0.4.1
|
||||
graceful-fs: 4.2.11
|
||||
json-parse-even-better-errors: 2.3.1
|
||||
loader-runner: 4.3.0
|
||||
mime-types: 2.1.35
|
||||
neo-async: 2.6.2
|
||||
schema-utils: 3.3.0
|
||||
tapable: 2.2.1
|
||||
terser-webpack-plugin: 5.3.10(@swc/core@1.3.101)(esbuild@0.21.5)(webpack@5.92.0(@swc/core@1.3.101)(esbuild@0.21.5))
|
||||
watchpack: 2.4.1
|
||||
webpack-sources: 3.2.3
|
||||
transitivePeerDependencies:
|
||||
- '@swc/core'
|
||||
- esbuild
|
||||
- uglify-js
|
||||
optional: true
|
||||
|
||||
whatwg-encoding@3.1.1:
|
||||
dependencies:
|
||||
iconv-lite: 0.6.3
|
||||
|
||||
Loading…
Reference in New Issue
Block a user