AOSSIE-Org / AOSSIE-Org/EduAid

[BUG]: [Improvement] Add regression test for /get_mcq_answer response contract consistency

Aperta
#606 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
JavaScript
Stelle
171
Fork
425
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### 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

1. Start the backend server locally.
2. Send a POST request to `/get_mcq_answer` with mismatched input sizes:
- `input_question` with 2 entries
- `input_options` with 1 entry
3. Observe current behavior returns empty `output`.
4. 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 #590 contract standardization

### Impact

Medium - Feature works but has issues

### Code of Conduct

- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.