Testing
The Boring JavaScript Stack uses a layered testing strategy: unit tests for helpers and business logic, integration tests for Inertia action responses, and end-to-end tests for full browser flows. Each layer uses purpose-built tooling that requires zero external test frameworks.
When to Use
Use this skill when:
- Writing unit tests for Sails.js helpers using Node.js built-in test runner (
node:test) - Writing end-to-end tests with Playwright for page flows and user interactions
- Writing integration tests using
inertia-sails/testassertion library - Configuring the test environment (
config/env/test.js, database strategy, email mocking) - Setting up Playwright configuration (
playwright.config.js) - Setting up CI/CD pipelines with GitHub Actions for automated testing
- Understanding the
getSails()singleton pattern for test initialization
Rules
Read individual rule files for detailed explanations and code examples:
- rules/getting-started.md - Testing philosophy, project structure, npm scripts, prerequisites
- rules/unit-testing.md - Node.js built-in test runner, getSails() pattern, helper testing, assertions
- rules/e2e-testing.md - Playwright setup, configuration, page testing, selectors, traces, CI
- rules/integration-testing.md - inertia-sails/test API, all assertion methods, partial requests
- rules/test-configuration.md - Test environment config, database strategy, email mocking, GitHub Actions CI