Skip to content

Commit 38a7a1d

Browse files
committed
tests working now hopefully
1 parent ab0d04e commit 38a7a1d

File tree

3 files changed

+49
-25
lines changed

3 files changed

+49
-25
lines changed

tests/e2e/leaderboard-error.png

-55.4 KB
Binary file not shown.

tests/e2e/results-page.png

-117 KB
Binary file not shown.

tests/e2e/test_quiz_flow.py

Lines changed: 49 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -90,31 +90,55 @@ def test_quiz_flow(page, app_url):
9090
if score_element:
9191
print(f"Found score element: {score_element.text_content()}")
9292

93-
# Click View Leaderboard if available
94-
try:
95-
leaderboard_button = page.get_by_text("View Leaderboard")
96-
if leaderboard_button.is_visible():
97-
print("Clicking leaderboard button...")
98-
leaderboard_button.click()
99-
100-
# Verify leaderboard loaded
101-
expect(page.get_by_text("Leaderboard")).to_be_visible()
102-
103-
# Verify our user appears in the leaderboard
104-
print("Checking leaderboard entries...")
105-
leaderboard_entries = page.get_by_role("row")
106-
found_user = False
107-
for entry in leaderboard_entries.all():
108-
content = entry.text_content()
109-
print(f"Leaderboard entry: {content}")
110-
if username in content.lower():
111-
found_user = True
112-
break
113-
114-
assert found_user, "User not found in leaderboard"
115-
except Exception as e:
116-
print(f"Error accessing leaderboard: {str(e)}")
117-
page.screenshot(path="leaderboard-error.png")
93+
# Click View Leaderboard
94+
print("Clicking leaderboard button...")
95+
leaderboard_button = page.get_by_text("View Leaderboard")
96+
expect(leaderboard_button).to_be_visible()
97+
leaderboard_button.click()
98+
time.sleep(10)
99+
100+
# Verify leaderboard loaded
101+
print("Verifying leaderboard...")
102+
expect(page.get_by_text("LEADERBOARD")).to_be_visible()
103+
104+
# Check both podium and list views for the username
105+
print("Checking leaderboard entries...")
106+
found_user = False
107+
108+
# Check podium entries
109+
podium_entries = page.locator('.podium h5').all()
110+
for entry in podium_entries:
111+
content = entry.text_content()
112+
print(f"Podium entry: {content}")
113+
if username in content:
114+
found_user = True
115+
break
116+
117+
# If not found in podium, check list entries
118+
if not found_user:
119+
list_entries = page.locator('.MuiListItemText-primary').all()
120+
for entry in list_entries:
121+
content = entry.text_content()
122+
print(f"List entry: {content}")
123+
if username in content:
124+
found_user = True
125+
break
126+
127+
# Take screenshot for debugging
128+
if not found_user:
129+
print("Taking screenshot for debugging...")
130+
page.screenshot(path="leaderboard-debug.png")
131+
132+
# Print all entries for debugging
133+
print("\nAll podium entries:")
134+
for entry in podium_entries:
135+
print(entry.text_content())
136+
print("\nAll list entries:")
137+
for entry in list_entries:
138+
print(entry.text_content())
139+
print(f"\nLooking for username: {username}")
140+
141+
assert found_user, "User not found in leaderboard"
118142

119143
def test_quiz_creation(page, app_url):
120144
print("\nStarting quiz creation test...")

0 commit comments

Comments
 (0)