Copy the Chatwoot (v4.14.0) frontend runnable subset into frontend/ for customization: - app/javascript/ (Vue SPA: dashboard, widget, sdk, portal, superadmin) - app/views/ (ERB templates for vite-plugin-ruby entrypoint resolution) - app/helpers/, app/assets/ (Rails view helpers, static assets) - enterprise/ (Enterprise edition frontend overlay) - config/vite.json, vite.config.ts, bin/vite (Vite-Rails toolchain) - package.json, pnpm-lock.yaml, tailwind/postcss/eslint configs - Gemfile, Gemfile.lock (vite_rails gem for bin/vite binstub) Excluded Rails backend: controllers, models, services, jobs, mailers, policies, db, lib, spec, public, node_modules. Update references to the new frontend location: - .gitignore: exclude frontend build artifacts (node_modules, tmp, packs), keep frontend/bin/ and frontend/vendor/ via negation - backend/scripts/parity_frontend_smoke.sh: CHATWOOT_DIR default reference/chatwoot -> ../frontend - backend/scripts/parity_frontend_browser_smoke.mjs: same default update - AGENTS.md: add frontend section with Rails/Vite coupling notes - README: architecture tree includes frontend/
60 lines
1.2 KiB
Markdown
60 lines
1.2 KiB
Markdown
# Chatwoot E2E Testing
|
|
|
|
End-to-end testing framework for Chatwoot using Component Object Model pattern.
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
# Install dependencies
|
|
pnpm install
|
|
|
|
# Install Playwright browsers
|
|
npx playwright install
|
|
|
|
# Configure environment
|
|
cp .env.example .env
|
|
```
|
|
|
|
Edit `.env` with your Chatwoot instance URL and credentials.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# Run all tests
|
|
pnpm run playwright:run
|
|
|
|
# Run tests in UI mode
|
|
pnpm run playwright:open
|
|
|
|
# Lint tests and page objects
|
|
pnpm run lint
|
|
|
|
# Generate test code
|
|
pnpm run playwright:codegen
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
tests/playwright/
|
|
├── components/
|
|
│ ├── api/ # API interaction components
|
|
│ └── ui/ # UI page objects
|
|
├── tests/
|
|
│ └── e2e/
|
|
│ ├── api/ # Pure API tests
|
|
│ └── ui/ # UI tests
|
|
├── utils/ # Shared utilities and helpers
|
|
├── response-schemas/ # API response schemas for validation
|
|
├── fixtures/ # Test fixtures
|
|
└── helpers/ # Helper functions
|
|
```
|
|
|
|
## Documentation
|
|
|
|
See [DOCS.md](./DOCS.md) for complete testing guide including patterns, conventions, and troubleshooting.
|
|
|
|
## Configuration
|
|
|
|
See `.env.example` for the full list of variables.
|