-
-
Notifications
You must be signed in to change notification settings - Fork 428
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Bug Description
Description
After the fix in PR #590, /get_mcq_answer now correctly returns the output key for invalid/mismatched input cases.
However, there is no automated regression test to enforce this response contract, so future refactors could silently reintroduce the old outputs key or break the invalid-input behavior.
Proposed Solution
Add a backend regression test that validates the invalid-input contract for /get_mcq_answer:
- response contains
output - response does not contain
outputs - response value is an empty list for mismatched question/options lengths
Expected Behavior
The API contract remains stable over time, and CI catches regressions immediately if response keys or invalid-input behavior change.
Steps to Reproduce
- Start the backend server locally.
- Send a POST request to
/get_mcq_answerwith mismatched input sizes:input_questionwith 2 entriesinput_optionswith 1 entry
- Observe current behavior returns empty
output. - Note that without regression coverage, this contract can be accidentally broken in future changes without automated detection.
Logs and Screenshots
N/A (contract/regression coverage gap; no runtime crash required)
Environment Details
- OS: Windows 11
- Backend: Python/Flask (EduAid backend)
- Endpoint: /get_mcq_answer
- Context: Follow-up to PR fix(backend): standardize /get_mcq_answer output key #590 contract standardization
Impact
Medium - Feature works but has issues
Code of Conduct
- I have joined the Discord server and will post updates there
- I have searched existing issues to avoid duplicates
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working