Initial commit: WrestleDesk full project
- Django backend with DRF (clubs, wrestlers, trainers, exercises, templates, trainings, homework, locations, leistungstest) - Next.js 16 frontend with React, Shadcn UI, Tailwind - JWT authentication - Full CRUD for all entities - Calendar view for trainings - Homework management system - Leistungstest tracking
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
from playwright.sync_api import sync_playwright
|
||||
import sys
|
||||
|
||||
def test_login_flow():
|
||||
with sync_playwright() as p:
|
||||
browser = p.chromium.launch(headless=True)
|
||||
page = browser.new_page()
|
||||
|
||||
console_errors = []
|
||||
page.on("console", lambda msg: console_errors.append(msg.text) if msg.type == "error" else None)
|
||||
|
||||
# Navigate to login page
|
||||
print("1. Navigating to login page...")
|
||||
page.goto('http://localhost:3000/login')
|
||||
page.wait_for_load_state('networkidle')
|
||||
print(" ✓ Page loaded")
|
||||
|
||||
# Fill in login form
|
||||
print("2. Filling login form...")
|
||||
page.fill('input[id="username"]', 'admin')
|
||||
page.fill('input[id="password"]', 'admin123')
|
||||
print(" ✓ Credentials entered")
|
||||
|
||||
# Submit form
|
||||
print("3. Submitting form...")
|
||||
page.click('button[type="submit"]')
|
||||
|
||||
# Wait for navigation to dashboard
|
||||
page.wait_for_url('**/dashboard**', timeout=10000)
|
||||
print(f" ✓ Redirected to: {page.url}")
|
||||
|
||||
# Wait for dashboard to load
|
||||
page.wait_for_load_state('networkidle')
|
||||
|
||||
# Check dashboard elements
|
||||
print("4. Checking dashboard elements...")
|
||||
|
||||
# Check for sidebar
|
||||
sidebar = page.locator('nav').first
|
||||
if sidebar.is_visible():
|
||||
print(" ✓ Sidebar navigation is visible")
|
||||
|
||||
# Check for page title
|
||||
h1 = page.locator('h1').first
|
||||
if h1.is_visible():
|
||||
title_text = h1.text_content()
|
||||
print(f" ✓ Dashboard title: '{title_text}'")
|
||||
|
||||
# Check for console errors
|
||||
if console_errors:
|
||||
print(f"⚠ Console errors: {console_errors}")
|
||||
else:
|
||||
print(" ✓ No console errors")
|
||||
|
||||
# Take screenshot
|
||||
screenshot_path = '/tmp/dashboard.png'
|
||||
page.screenshot(path=screenshot_path, full_page=True)
|
||||
print(f" ✓ Screenshot saved to {screenshot_path}")
|
||||
|
||||
browser.close()
|
||||
print("\n✅ Login flow test passed!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_login_flow()
|
||||
Reference in New Issue
Block a user