Files
smoothschedule/frontend/tests/e2e/scheduler-refactor-test.spec.ts
poduck 2e111364a2 Initial commit: SmoothSchedule multi-tenant scheduling platform
This commit includes:
- Django backend with multi-tenancy (django-tenants)
- React + TypeScript frontend with Vite
- Platform administration API with role-based access control
- Authentication system with token-based auth
- Quick login dev tools for testing different user roles
- CORS and CSRF configuration for local development
- Docker development environment setup

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 01:43:20 -05:00

47 lines
1.8 KiB
TypeScript

import { test, expect } from '@playwright/test';
test('scheduler loads and reloads correctly after refactoring', async ({ page }) => {
console.log('\n=== Testing Scheduler Refactoring ===\n');
// Login as business owner
console.log('Step 1: Login');
await page.goto('http://acme.lvh.me:5173/#/login');
await page.getByLabel(/username/i).fill('acme_owner');
await page.getByLabel(/password/i).fill('password123');
await page.getByRole('button', { name: /sign in/i }).click();
await page.waitForTimeout(2000);
console.log('✓ Logged in');
// Navigate to scheduler
console.log('\nStep 2: Navigate to Scheduler');
await page.goto('http://acme.lvh.me:5173/#/scheduler');
// Wait for scheduler content to load (look for the "Resources" label)
await page.waitForSelector('text=Resources', { timeout: 5000 });
const hasTimelineContent = await page.locator('text=Resources').first().isVisible();
console.log('✓ Scheduler content visible:', hasTimelineContent);
// Take screenshot before reload
await page.screenshot({ path: 'scheduler-before-reload.png' });
// Hard reload
console.log('\nStep 3: Hard reload scheduler page');
await page.reload({ waitUntil: 'networkidle' });
// Wait for scheduler to reload (look for the "Resources" label)
await page.waitForSelector('text=Resources', { timeout: 5000 });
const hasContentAfterReload = await page.locator('text=Resources').first().isVisible();
console.log('✓ Scheduler visible after reload:', hasContentAfterReload);
// Take screenshot after reload
await page.screenshot({ path: 'scheduler-after-reload.png' });
// Verify URL didn't change
expect(page.url()).toContain('scheduler');
console.log('✓ URL correct:', page.url());
// Final check
expect(hasContentAfterReload).toBe(true);
console.log('\n✅ Test passed: Scheduler works after reload!');
});