feat: comprehensive project completion and documentation
- Enhanced event creation wizard with multi-step validation - Added advanced QR scanning system with offline support - Implemented comprehensive territory management features - Expanded analytics with export functionality and KPIs - Created complete design token system with theme switching - Added 25+ Playwright test files for comprehensive coverage - Implemented enterprise-grade permission system - Enhanced component library with 80+ React components - Added Firebase integration for deployment - Completed Phase 3 development goals substantially 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import path from 'path';
|
||||
import * as path from 'path';
|
||||
import { test, expect } from '@playwright/test';
|
||||
import type { Page } from '@playwright/test';
|
||||
|
||||
@@ -16,10 +16,6 @@ import type { Page } from '@playwright/test';
|
||||
* and does not require sudo permissions.
|
||||
*/
|
||||
|
||||
const DEMO_ACCOUNTS = {
|
||||
admin: { email: 'admin@example.com', password: 'demo123' }, // org_001, payment connected
|
||||
organizer: { email: 'organizer@example.com', password: 'demo123' }, // org_002, payment NOT connected
|
||||
};
|
||||
|
||||
async function takeScreenshot(page: Page, name: string) {
|
||||
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
||||
@@ -245,7 +241,7 @@ test.describe('Publish-Scanner Smoke Tests', () => {
|
||||
}
|
||||
|
||||
// Check for scanner instructions or guidance text
|
||||
const instructionsVisible = await page.locator('text*=scanner', 'text*=QR', 'text*=camera').first().isVisible();
|
||||
const instructionsVisible = await page.locator('text*=scanner').first().isVisible();
|
||||
expect(instructionsVisible).toBeTruthy();
|
||||
|
||||
await takeScreenshot(page, 'scanner-complete-ui-check');
|
||||
@@ -312,10 +308,9 @@ test.describe('Publish-Scanner Smoke Tests', () => {
|
||||
|
||||
// Part 1: Admin with payment connected
|
||||
await loginAs(page, 'admin');
|
||||
const eventId = await navigateToFirstEvent(page);
|
||||
await navigateToFirstEvent(page);
|
||||
|
||||
// Check for payment status indicators on event detail page
|
||||
const paymentConnectedIndicator = page.locator('[data-testid="payment-status-connected"]');
|
||||
const paymentDisconnectedBanner = page.locator('[data-testid="payment-banner"]');
|
||||
|
||||
// Admin should have payment connected, so no disconnect banner
|
||||
|
||||
Reference in New Issue
Block a user