Fix integration test failures - attempts increment and app context
Fixed 3 critical issues: 1. SQLAlchemy 'already registered' error in test_app_activity_functions.py: - Removed access to db.engine before app context was pushed (line 39) - Moved db.engine.dispose() to after context.push() (line 54) - Removed unnecessary init_activity_module() call in tests - Fixes 9 'Working outside of application context' errors 2. Attempts counter not incrementing for incorrect answers: - Added 'incorrect' to list of categories that stay on current step - Previously 'incorrect' was entering navigation block incorrectly - Now properly goes to ELSE block which increments attempts - Fixed in activity.py line 1082 Test Results: - Before: 10 failed, 31 passed - After: 2 failed, 39 passed - Remaining 2 failures are minor socketio mocking issues (unrelated) - Core functionality tests (attempts increment, correct navigation) now pass Root Cause: The activity.py logic assumed any category NOT in the special list should try to navigate forward. But 'incorrect' should stay on the current step and increment attempts, not try to find the next step.
This commit is contained in:
parent
6e4a11634b
commit
aefb7005d1
2 changed files with 4 additions and 4 deletions
|
|
@ -1079,6 +1079,7 @@ def handle_activity_response(room_name, user_response, username, model="MODEL_0"
|
|||
"asking_clarifying_questions",
|
||||
"set_language",
|
||||
"off_topic",
|
||||
"incorrect", # Incorrect answers should stay on step and increment attempts
|
||||
]
|
||||
or activity_state.attempts >= activity_state.max_attempts
|
||||
or final_next_section_and_step # Use final navigation from last transition
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue