Tests

Cross-framework testing with E2E and unit tests.

Structure

Config: tests/config/ - Framework-specific Playwright configs - playwright.config.base.js - Shared settings - Individual configs for all 12 frameworks

E2E Tests: tests/e2e/
- weather-app-advanced.test.js - Comprehensive interaction testing - Weather search functionality - UI component interactions - Error handling scenarios - Mock API integration

Unit Tests: tests/unit/ - weather-app.test.js - App logic testing - weather-service.test.js - Service layer testing
- test-runner.js - Custom test execution - Framework-agnostic testing

Running Tests

# All frameworks
npm run test:all

# Individual frameworks  
npm run test:react
npm run test:vue
npm run test:angular
# etc...

# Specific test types
npm run test -- --grep "weather search"

Test Features

E2E Testing

Playwright-based: Reliable browser automation - Cross-browser testing (Chrome, Firefox, Safari) - Mobile device simulation - Network condition testing - Screenshot comparisons

Scenarios: - Search functionality with various locations - Weather data display and formatting - Error states and loading indicators - Responsive design validation - Accessibility testing

Unit Testing

Framework-agnostic: Tests shared logic - Weather service API calls - Data formatting utilities - Business logic validation - Mock data handling

Mock Integration

Realistic data: Consistent across frameworks - Weather API responses - Error scenarios - Edge cases (extreme temperatures, etc.) - Location-based variations

Test Configuration

Shared config: Common Playwright settings - Timeouts and retries - Browser configurations
- Test data management - Reporter settings

Framework-specific: Individual customizations - Build process integration - Dev server management - Framework-specific selectors - Performance thresholds

Reporting

Console output: Real-time test results HTML reports: Detailed test reports with screenshots CI integration: GitHub Actions workflow integration Performance metrics: Load time measurements