@@ -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 ("\n All podium entries:" )
134+ for entry in podium_entries :
135+ print (entry .text_content ())
136+ print ("\n All list entries:" )
137+ for entry in list_entries :
138+ print (entry .text_content ())
139+ print (f"\n Looking for username: { username } " )
140+
141+ assert found_user , "User not found in leaderboard"
118142
119143def test_quiz_creation (page , app_url ):
120144 print ("\n Starting quiz creation test..." )
0 commit comments