Add Testing and Quality Assurance section to README
CI / check (push) Failing after 30s
CI / tests-unit (push) Skipped
CI / tests-integration (push) Skipped
CI / tests-ui (push) Skipped
CI / tests-imaging-browsers (push) Skipped
CI / tests-quality (push) Skipped
CI / preflight (push) Skipped
CI / deploy (push) Skipped
CI / check (push) Failing after 30s
CI / tests-unit (push) Skipped
CI / tests-integration (push) Skipped
CI / tests-ui (push) Skipped
CI / tests-imaging-browsers (push) Skipped
CI / tests-quality (push) Skipped
CI / preflight (push) Skipped
CI / deploy (push) Skipped
This commit is contained in:
1 parent
95bc7da83e
commit
2ae8127476
1 file changed
+27
-5
@@ -83,24 +83,29 @@ The query builder and helper functions (`queryRows`, `execResult`, `affectedRows
|
|||||||
|
|
||||||
### 3. Configure Environment
|
### 3. Configure Environment
|
||||||
|
|
||||||
|
Copy the example environment file and edit it with your specific settings:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
```
|
```
|
||||||
|
|
||||||
Edit `.env` with at minimum:
|
Edit `.env` to include at minimum:
|
||||||
|
|
||||||
```dotenv
|
```dotenv
|
||||||
# MySQL / MariaDB:
|
# Choose your database type and configure DATABASE_URL:
|
||||||
DATABASE_URL=mysql://user:[email protected]:3306/epicnext_cms
|
# For MySQL / MariaDB:
|
||||||
# Or PostgreSQL:
|
# DATABASE_URL=mysql://user:[email protected]:3306/epicnext_cms
|
||||||
|
|
||||||
|
# For PostgreSQL:
|
||||||
# DATABASE_URL=postgres://user:[email protected]:5432/epicnext_cms
|
# DATABASE_URL=postgres://user:[email protected]:5432/epicnext_cms
|
||||||
|
|
||||||
|
# Ensure these are set:
|
||||||
AUTH_SECRET=<random 32+ character string>
|
AUTH_SECRET=<random 32+ character string>
|
||||||
HOTEL_NAME=YourHotel
|
HOTEL_NAME=YourHotel
|
||||||
APP_URL=http://localhost:3002
|
APP_URL=http://localhost:3002
|
||||||
```
|
```
|
||||||
|
|
||||||
See `.env.example` for all optional variables (RCON, email, Valkey, OAuth, PayPal, etc.).
|
Refer to `.env.example` for a comprehensive list of all optional configuration variables, including RCON, email services, Valkey, OAuth providers, and PayPal integration.
|
||||||
|
|
||||||
### 4. Run CMS Migrations
|
### 4. Run CMS Migrations
|
||||||
|
|
||||||
@@ -1388,6 +1393,23 @@ It is run against the public site as a `continue-on-error` CI job, so it still
|
|||||||
surfaces a real content problem without turning the pipeline red. Point either
|
surfaces a real content problem without turning the pipeline red. Point either
|
||||||
suite at any running CMS with `PLAYWRIGHT_BASE_URL`.
|
suite at any running CMS with `PLAYWRIGHT_BASE_URL`.
|
||||||
|
|
||||||
|
### Testing & Quality Assurance
|
||||||
|
|
||||||
|
EpicNext-CMS maintains strict engineering standards enforced through automated testing pipelines:
|
||||||
|
|
||||||
|
1. **Unit & Integration Testing (Vitest)**:
|
||||||
|
- Run tests: `pnpm test`
|
||||||
|
- Run integration tests: `pnpm test:integration`
|
||||||
|
- Covers database helpers, caching strategies, background workers, and housekeeping matrix logic.
|
||||||
|
|
||||||
|
2. **End-to-End Testing (Playwright)**:
|
||||||
|
- Blocking deploy gate (`pnpm test:e2e`): validates critical user journeys (authentication, registration, captcha DOM contracts, security headers).
|
||||||
|
- Quality advisory suite (`pnpm test:e2e:quality`): non-blocking inspection of live content assets, page latency, and responsive layouts.
|
||||||
|
|
||||||
|
3. **Linting & Type Safety (Biome & TypeScript)**:
|
||||||
|
- Lint check: `pnpm lint` (or `pnpm biome:check`)
|
||||||
|
- Type check: `pnpm typecheck` (strictly validates TypeScript across App Router, Server Actions, and Drizzle models).
|
||||||
|
|
||||||
### Contributing
|
### Contributing
|
||||||
|
|
||||||
1. Ensure typecheck and tests pass: `pnpm typecheck && pnpm test`
|
1. Ensure typecheck and tests pass: `pnpm typecheck && pnpm test`
|
||||||
|
|||||||
Reference in new issue
Block a user