[
  {
    "name": "Resume upload",
    "prReference": null,
    "output": "# Resume upload\n\n## Summary\n\nChecklist of 13 template test ideas for the feature across 3 test types. They're generic — review and adapt them to the requirement.\n\n## Assumptions\n\n- Generated from built-in templates without AI; requirement wording was only scanned for field names.\n\n## Test cases (13)\n\n| ID | Title | Category | Type | Priority | Preconditions | Steps | Test data | Expected result |\n|---|---|---|---|---|---|---|---|---|\n| TC-TC-001 | the feature: main flow succeeds with valid input | Functional | Positive | P0 | the feature is available to a standard user. | 1. Open the feature as a standard user<br>2. Fill every required field with valid data<br>3. Submit |   | The action succeeds, a confirmation is shown and the data is saved. |\n| TC-TC-002 | the feature: optional fields are saved when provided | Functional | Positive | P1 | the feature is available to a standard user. | 1. Open the feature<br>2. Fill required and optional fields<br>3. Submit and reopen the record |   | All entered values are shown exactly as entered. |\n| TC-TC-003 | the feature: result is visible to other places that use it | Functional | Positive | P1 | the feature is available to a standard user. | 1. Complete the main flow<br>2. Open the screens / reports that show this data |   | The new or changed data appears everywhere it should. |\n| TC-TC-004 | the feature: required fields left empty are rejected | Functional | Negative | P1 | the feature is available to a standard user. | 1. Open the feature<br>2. Leave each required field empty in turn<br>3. Submit |   | A clear message names each missing field; nothing is saved. |\n| TC-TC-005 | the feature: invalid formats are rejected | Functional | Negative | P1 | the feature is available to a standard user. | 1. Enter invalid values (wrong format, letters in numbers)<br>2. Submit |   | Inline validation explains the problem; nothing is saved. |\n| TC-TC-006 | the feature: server error is handled gracefully | Functional | Negative | P2 | the feature is available to a standard user. | 1. Make the backend return an error (e.g. stub a 500)<br>2. Submit |   | A friendly error is shown, input is kept, and the user can retry. |\n| TC-TC-007 | the feature: complete end-to-end journey | Functional | Workflow / end-to-end | P0 | the feature is available to a standard user. | 1. Start from the entry point (e.g. login / home)<br>2. Go through every step of the journey<br>3. Verify the final outcome and any notifications |   | The journey completes and every side effect (emails, records, status) is correct. |\n| TC-TC-008 | the feature: leaving mid-way and coming back | Functional | Workflow / end-to-end | P1 | the feature is available to a standard user. | 1. Start the flow<br>2. Leave or refresh in the middle<br>3. Return |   | Progress is kept or the user is guided to restart without broken state. |\n| TC-TC-009 | the feature: back / forward navigation during the flow | Functional | Workflow / end-to-end | P2 | the feature is available to a standard user. | 1. Use browser back and forward between steps |   | No duplicate submissions or stale data. |\n| TC-TC-010 | File upload: uploads an allowed file type | Functional | Positive | P1 | the feature form is open. | 1. Enter file upload: A small valid file<br>2. Submit | A small valid file | The file uploads and shows in the list. |\n| TC-TC-011 | File upload: rejects a disallowed type | Non-Functional | Security | P1 | the feature form is open. | 1. Enter file upload: file.exe renamed to file.pdf<br>2. Submit | file.exe renamed to file.pdf | The file is rejected by content, not just the extension. |\n| TC-TC-012 | File upload: rejects a file over the size limit | Functional | Boundary | P1 | the feature form is open. | 1. Enter file upload: Size limit + 1 byte<br>2. Submit | Size limit + 1 byte | A size message is shown; nothing is stored. |\n| TC-TC-013 | File upload: handles an empty file and odd file names | Functional | Edge case | P2 | the feature form is open. | 1. Enter file upload: 0-byte file; name with spaces, Unicode and ../<br>2. Submit | 0-byte file; name with spaces, Unicode and ../ | Handled safely with a clear message. |\n",
    "createdBy": "Anonymous",
    "createdAt": "2026-10-05T05:23:00.047Z"
  }
]