Developers

Testing and Validation

Run the product's unit, browser, and container checks.

Quick Suite

npm test

Vitest covers business rules, endpoints, and resilience contracts.

Isolated Browser Flows

npx playwright install chromium
npm run test:e2e

Playwright uses 127.0.0.1:2510, .next-e2e, and .e2e/data. The suite verifies, among other things, keyboard navigation, reduced motion, mobile, authentication, permissions, mutations, Docker, networking, widgets, and custom tabs.

For a production-mode flow, build first and set NASDASH_E2E_SERVER_MODE=production before launching.

Docker Image

docker build --tag nasdash:smoke .
npm run test:container -- nasdash:smoke

The smoke test verifies startup, health, initial connection, 1001:1001 UID/GID, and persistence after container replacement.

Before Contributing

Also run the lint and build defined in package.json, then perform a targeted manual test on the affected features. Any destructive Docker action must target a disposable resource.