Some checks are pending
HVAC Plugin CI/CD Pipeline / Security Analysis (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Code Quality & Standards (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Unit Tests (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Integration Tests (push) Waiting to run
HVAC Plugin CI/CD Pipeline / Deploy to Staging (push) Blocked by required conditions
HVAC Plugin CI/CD Pipeline / Deploy to Production (push) Blocked by required conditions
HVAC Plugin CI/CD Pipeline / Notification (push) Blocked by required conditions
Security Monitoring & Compliance / Dependency Vulnerability Scan (push) Waiting to run
Security Monitoring & Compliance / Secrets & Credential Scan (push) Waiting to run
Security Monitoring & Compliance / WordPress Security Analysis (push) Waiting to run
Security Monitoring & Compliance / Static Code Security Analysis (push) Waiting to run
Security Monitoring & Compliance / Security Compliance Validation (push) Waiting to run
Security Monitoring & Compliance / Security Summary Report (push) Blocked by required conditions
Security Monitoring & Compliance / Security Team Notification (push) Blocked by required conditions
- Add 90+ test files including E2E, unit, and integration tests - Implement Page Object Model (POM) architecture - Add Docker testing environment with comprehensive services - Include modernized test framework with error recovery - Add specialized test suites for master trainer and trainer workflows - Update .gitignore to properly track test infrastructure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
245 lines
No EOL
7.2 KiB
JavaScript
245 lines
No EOL
7.2 KiB
JavaScript
/**
|
|
* Local Development Environment Configuration for HVAC Testing Framework
|
|
*
|
|
* Configuration for local WordPress development environment
|
|
*
|
|
* @package HVAC_Community_Events
|
|
* @version 2.0.0
|
|
* @created 2025-08-27
|
|
*/
|
|
|
|
module.exports = {
|
|
// Application Settings
|
|
app: {
|
|
baseUrl: 'http://localhost:8080',
|
|
environment: 'local',
|
|
debug: true
|
|
},
|
|
|
|
// Test User Configurations
|
|
environments: {
|
|
users: {
|
|
trainer: {
|
|
username: 'test_trainer',
|
|
email: 'test_trainer@localhost',
|
|
password: 'TestTrainer123!',
|
|
role: 'hvac_trainer',
|
|
defaultPage: '/trainer/dashboard/'
|
|
},
|
|
masterTrainer: {
|
|
username: 'test_master',
|
|
email: 'test_master@localhost',
|
|
password: 'TestMaster123!',
|
|
role: 'hvac_master_trainer',
|
|
defaultPage: '/master-trainer/master-dashboard/'
|
|
},
|
|
admin: {
|
|
username: 'admin',
|
|
email: 'admin@localhost',
|
|
password: 'admin',
|
|
role: 'administrator',
|
|
defaultPage: '/wp-admin/'
|
|
}
|
|
}
|
|
},
|
|
|
|
// Database Configuration
|
|
database: {
|
|
host: 'localhost',
|
|
name: 'hvac_test',
|
|
user: 'root',
|
|
password: '',
|
|
prefix: 'wp_test_',
|
|
charset: 'utf8mb4',
|
|
isolation: true // Use transactions for test isolation
|
|
},
|
|
|
|
// WordPress-specific settings for local development
|
|
wordpress: {
|
|
cliPath: 'wp',
|
|
adminPath: '/wp-admin/',
|
|
loginPath: '/wp-login.php',
|
|
customLoginPath: '/training-login/',
|
|
apiPath: '/wp-json/',
|
|
databaseIsolation: true, // Safe to modify local database
|
|
flushRewriteRules: true, // Safe to flush rules locally
|
|
clearCache: true // Safe to clear cache locally
|
|
},
|
|
|
|
// Browser settings optimized for local development
|
|
browser: {
|
|
headless: false, // Show browser in local development
|
|
slowMo: 500, // Slower for debugging
|
|
viewport: {
|
|
width: 1280,
|
|
height: 720
|
|
},
|
|
args: [
|
|
'--disable-dev-shm-usage',
|
|
'--no-sandbox',
|
|
'--disable-setuid-sandbox'
|
|
]
|
|
},
|
|
|
|
// Test execution parameters for local development
|
|
framework: {
|
|
timeout: 30000,
|
|
retries: 1, // Fewer retries locally
|
|
parallel: false, // Sequential execution for debugging
|
|
maxWorkers: 1, // Single worker for debugging
|
|
testDataIsolation: true,
|
|
screenshotsOnFailure: true,
|
|
videosOnFailure: true
|
|
},
|
|
|
|
// Local test data management
|
|
testData: {
|
|
seedData: true, // Safe to seed data locally
|
|
cleanupAfterTests: true, // Clean up local test data
|
|
isolateTransactions: true,
|
|
backupDatabase: true, // Backup before destructive operations
|
|
fixtures: {
|
|
users: './fixtures/local-users.json',
|
|
events: './fixtures/local-events.json',
|
|
venues: './fixtures/local-venues.json'
|
|
}
|
|
},
|
|
|
|
// All features enabled in local development
|
|
features: {
|
|
trainerRegistration: true,
|
|
eventCreation: true,
|
|
profileManagement: true,
|
|
announcements: true,
|
|
masterTrainerTools: true,
|
|
importExport: true,
|
|
communicationTemplates: true,
|
|
trainingLeads: true,
|
|
certificates: true,
|
|
geocoding: true,
|
|
mobileResponsive: true,
|
|
debugMode: true,
|
|
testDataGeneration: true
|
|
},
|
|
|
|
// Standard selectors
|
|
selectors: {
|
|
dataTestIdAttribute: 'data-testid',
|
|
roleAttribute: 'data-role',
|
|
pageAttribute: 'data-page',
|
|
formAttribute: 'data-form',
|
|
buttonAttribute: 'data-action'
|
|
},
|
|
|
|
// Media settings for local development
|
|
media: {
|
|
screenshotDir: './test-results/screenshots/local',
|
|
videoDir: './test-results/videos/local',
|
|
screenshotMode: 'all', // Capture all screenshots locally
|
|
videoMode: 'retain-on-failure',
|
|
quality: 90,
|
|
fullPage: true
|
|
},
|
|
|
|
// Enhanced reporting for local development
|
|
reporting: {
|
|
outputDir: './test-results/reports/local',
|
|
formats: ['html', 'json', 'junit'],
|
|
includeScreenshots: true,
|
|
includeTimings: true,
|
|
includeSourceMaps: true,
|
|
groupByCategory: true,
|
|
localSpecificMetadata: {
|
|
environment: 'local',
|
|
baseUrl: 'http://localhost:8080',
|
|
wordpressVersion: 'latest',
|
|
phpVersion: process.env.PHP_VERSION || '8.1'
|
|
}
|
|
},
|
|
|
|
// Network settings for local development
|
|
network: {
|
|
timeout: 10000,
|
|
ignoreHTTPSErrors: false,
|
|
bypassCSP: true, // Useful for development
|
|
userAgent: 'HVAC-Testing-Framework/2.0 Playwright (Local)'
|
|
},
|
|
|
|
// Local WordPress URLs
|
|
urls: {
|
|
login: '/training-login/',
|
|
wpLogin: '/wp-login.php',
|
|
trainerDashboard: '/trainer/dashboard/',
|
|
masterDashboard: '/master-trainer/master-dashboard/',
|
|
createEvent: '/trainer/create-event/',
|
|
manageEvents: '/trainer/events/',
|
|
profile: '/trainer/profile/',
|
|
findTrainer: '/find-trainer/',
|
|
registration: '/trainer-registration/'
|
|
},
|
|
|
|
// Expected local content
|
|
expectedContent: {
|
|
loginPageTitle: 'Training Login',
|
|
dashboardTitle: 'HVAC Trainer Dashboard',
|
|
masterDashboardTitle: 'Master Trainer Dashboard',
|
|
welcomeMessage: 'Welcome to HVAC Training',
|
|
noAccessMessage: 'You do not have permission to access this page'
|
|
},
|
|
|
|
// Local development specific settings
|
|
localSpecific: {
|
|
// Database reset capabilities
|
|
allowDatabaseReset: true,
|
|
|
|
// File system access
|
|
allowFileSystemAccess: true,
|
|
|
|
// WP-CLI access
|
|
wpCliEnabled: true,
|
|
|
|
// Debug features
|
|
enableDebugLogs: true,
|
|
enableVerboseOutput: true,
|
|
|
|
// Fast test execution
|
|
skipWaitTimes: false, // Keep waits for realistic testing
|
|
|
|
// Development tools
|
|
enableDevTools: true,
|
|
allowScreenRecording: true,
|
|
|
|
// Local-specific plugins that might be active
|
|
developmentPlugins: [
|
|
'query-monitor',
|
|
'debug-bar',
|
|
'user-switching'
|
|
],
|
|
|
|
// Safe operations
|
|
allowDestructiveOperations: true,
|
|
allowPluginActivation: true,
|
|
allowThemeChanges: true
|
|
},
|
|
|
|
// Docker configuration (if using Docker for local development)
|
|
docker: {
|
|
enabled: false,
|
|
services: {
|
|
wordpress: {
|
|
image: 'wordpress:latest',
|
|
port: 8080
|
|
},
|
|
mysql: {
|
|
image: 'mysql:5.7',
|
|
port: 3306,
|
|
rootPassword: 'rootpassword',
|
|
database: 'hvac_test'
|
|
},
|
|
redis: {
|
|
image: 'redis:alpine',
|
|
port: 6379
|
|
}
|
|
}
|
|
}
|
|
}; |