| **TC30 – US3** | View chef score breakdown | Home → Click “\>” | — | Chef score + graph displayed | Score + pie graph shown | Pass |
## Testcases - Aron
## **User Story 3 – AI Recipe Generation (10 Test Cases)**
### User Story:
As Campus Chris, I want to enter specific ingredients I already have, then the system should automatically (using AI) generate a new recipe that adapts to those ingredients, customizing quantities, cooking time, and any missing items with substitutions.
| Test Case ID | Test Scenario | Test Steps | Test Data | Expected Result | Actual Result | Pass/Fail |
| **TC-TT-027 – US3** | AI handles long ingredient list | Enter 12 ingredients → Generate | ingredients: long list | Valid structured recipe still produced | --- | --- |
| **TC-TT-039 – US4** | Favourites show recipe details | Open Favourites page | recipeId: random | Displays title, image, cook time, ingredients | --- | --- |
| **TC-TT-040 – US4** | Backend failure handling | Simulate server error → Add favourite | recipeId: 300 | Error toast: "Unable to save favourite" | --- | --- |
**3. Inspection/Review****- As a group, customize the code inspection document/checklist (which will be provided in the lecture) and add other appropriate items to fit your product (giving us an exact replica of the checklist will be a zero).**
**_General_**
...
...
@@ -698,8 +658,6 @@ As Campus Chris, I want to create a list that contains my favourite recipes.
| Implementation | Do loops/branches terminate correctly? | Yes. |
| Implementation | Are if-else/switch structures complete and readable? | Yes, with comments when needed |
**_Hiba's Report to Herin_**
| Category | Inspection Question | Answer |
...
...
@@ -747,60 +705,49 @@ As Campus Chris, I want to create a list that contains my favourite recipes.
| **Implementation** | Do loops/branches terminate correctly? | Yes |
| **Implementation** | Are if-else/switch structures complete and readable? | Yes |
## **Aron – Code Review for Hooriya**
| Category | Inspection Question | Answer |
|----------|---------------------|--------|
| **General** | Does the code work as intended for the feature being reviewed (e.g., search, filters, comments, recipe upload, leaderboard)? | Yea |
| **General** | Is the code easy to read and understand without relying on external explanations? | Yea |
| **General** | Is there any repeated logic that could be moved into shared utilities (e.g., API error handlers, database queries, form validation)? | Nah |
| **General** | Is the component or function modular, or is it doing more than one responsibility? | Modular |
| **General** | Are there unnecessary global variables or shared state values? | Nah |
| **General** | Is there commented-out code that should be removed? | Yea |
| **General** | Are loops, array maps, and async workflows properly controlled? | Yea |
| **General** | Do variable and function names clearly describe their purpose? | Yea |
| **Performance** | Are there any expensive operations running too often (re-fetches, un-memoized computations)? | Nah |
| **Performance** | Can built-in methods replace custom loops? | Nah |
| **Performance** | Are unnecessary console logs/debugging statements left in the code? | Yea |
| **Performance** | Are API calls grouped efficiently? | Yea |
| **Security** | Are backend inputs validated before being used in queries? | Yea |
| **Security** | Are database queries protected using parameterized queries (pg-pool)? | Yea |
| **Security** | Are errors from third-party tools handled properly? | Yea |
| **Security** | Are invalid parameters rejected with proper error responses? | Yea |
| **Security** | Are protected routes using authentication middleware correctly? | Yea |
| **Documentation** | Are comments meaningful where logic is not obvious? | Yea |
| **Documentation** | Are all API routes documented clearly? | Yea |
| **Documentation** | Are edge cases explained? | Yea |
| **Documentation** | Are third-party libraries used clearly? | Yea |
| **Documentation** | Are TODOs marked clearly? | Yea |
| **Documentation** | Are data structures explained? | Yea |
| **Testing** | Is the code structured to be testable? | Yea |
| **Testing** | Can functions be manually triggered for testing? | Yea |
| **Testing** | Are input validations testable? | Yea |
| **Testing** | Could custom logic be replaced with built-in utilities? | Nah |
| **Implementation** | Are descriptive variable names used consistently? | Yea |
| **Implementation** | Any confusing or similar variable names? | Nah |
| **Implementation** | Do loops/branches terminate correctly? | Yea |
| **Implementation** | Are conditionals readable and complete? | Yea |
**_Aron's Report to Hooriya_**
**_Hooriya's Report to Aron_**
| Category | Inspection Question | Answer|
| ------ | ------ | ------ |
| **General** |Does the code work as intended for the feature being reviewed? | Yes, login, logout, signup and auth all work as expected |
|**General** |Is the code easy to read and understand? | Mostly yes, well structured and readable |
| **General** |Does the code follow team coding conventions? |Yes its consistent throughout |
| **General** |Any repeated logic that should be moved to shared utilities? | |Yes, email/username/password validation appears multiple times and should be moved to a helper file.
| **General** |Is the component or function modular? | Yes |
|**General** | Any unnecessary global variables or shared state? |No, everything is local to functions. |
|**General** |Any commented-out code that should be removed? | A few bits in frontend but the rest is fine |
| Amna Shakeel | Worked on Deliverable 3: made test cases for my user stories, including search/filtering and commenting and rating. Tested these cases manually. Reviewed the searching/filter for Hiba. | 20% |
| John Aron Calderon | worked on middleware, fixed many auth bugs, error handling, front end ui and other helper functions and logic. | 20% |
| John Aron Calderon | | 20% |
| Hiba Ajaz | reviewed the Recipe creation/editing/deletion, AI recipe generation, frontend recipe forms, image upload handling, recipe display pages. Wrote tests for teh search and filter user stories. | 20% |
| Herin Patel | reviewed the comment and rating section for Amna .wrote and tested the testcases for 3 of my user stories. | 20% |
| Hooria Fatima | . | 20% |
...
...
@@ -831,5 +778,3 @@ Team Contribution Breakdown
Amna's: I used ChatGPT to help format the test cases, clean up wording, and organize sections of this document but all final content reflects my own work and decisions.
Herin's: I used AI to review and help me in formatting my testcases, i also used it to format my suggestion. Wherever I used AI I made sure to review it properly first and tahn add it.
\ No newline at end of file
Aron: I used AI to review and format everything as well as help me brainstorm a few of the test cases.