Skip to content

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

@Ashvin-KS

Description

@Ashvin-KS

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions