Skip to content

Hannah N#7

Open
hannahwn wants to merge 6 commits intoHackYourAssignment:mainfrom
hannahwn:main
Open

Hannah N#7
hannahwn wants to merge 6 commits intoHackYourAssignment:mainfrom
hannahwn:main

Conversation

@hannahwn
Copy link
Copy Markdown

No description provided.

@github-actions
Copy link
Copy Markdown

📝 HackYourFuture auto grade

Assignment Score: 100 / 100 ✅

Status: ✅ Passed
Minimum score to pass: 50
🧪 The auto grade is experimental and still being improved

Test Details
Vitest unit test results:

✅ [10] Markdown file created
✅ [1] Content starts with # Cocktail Recipes
✅ [1] Content includes drink name as ## Margarita
✅ [1] Content includes medium drink image
✅ [1] Content includes category and alcoholic info
✅ [1] Content includes header ### Ingredients
✅ [1] Content includes ingredients list
✅ [1] Content includes header ### Instructions
✅ [1] Content includes instruction details
✅ [1] Content includes glass type
✅ [1] Calls console.error() if no cocktail name argument provided
✅ [1] Calls console.error() if cocktail not found
✅ [1] Calls console.error() if fetch was not OK
✅ should complete all CRUD operations successfully
✅ should verify updatePost uses PUT method with Authorization
✅ should verify deleteUser uses DELETE method with Authorization
✅ should verify deletePost uses DELETE method with Authorization
✅ should verify getMe fetches current user info with Authorization
✅ should handle errors in any CRUD operation
✅ should make GET request to /users/me with Authorization header
✅ should return user information with correct structure
✅ should throw error when response is not ok (404)
✅ should make GET request to /posts/me with Authorization header
✅ should return an array of posts
✅ should return empty array when no posts exist
✅ should make POST request to /users/register with correct data
✅ should return user data with correct structure
✅ should include Content-Type header
✅ should throw error when API returns error
✅ should make POST request to /users/login with correct data
✅ should return user data with token
✅ should throw error on invalid credentials
✅ should make POST request to /posts with correct data and Authorization header
✅ should return post data with correct structure
✅ should include Content-Type and Authorization headers
✅ should throw error when not authenticated

Total passed: 36
Total failed: 0

@JQnetherlands JQnetherlands self-requested a review March 19, 2026 11:01
@JQnetherlands JQnetherlands self-assigned this Mar 19, 2026
}

// Category & Alcoholic
markdown += `**Category**: ${drink.strCategory || "Unknown"}\n`;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is missing an \n

markdown += `\n`;

// Instructions
markdown += `### Instructions\n${drink.strInstructions || "No instructions provided."}\n\n`;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here is missing \n

// Glass
markdown += `Serve in: ${drink.strGlass || "Unknown"}\n\n`;

markdown += `---\n\n`;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bravo, I like that you introduced a line separator between recipes, this line could be even longer to make sure the user knows that this is the end.

});
if (!response.ok) {
throw new Error(
`Failed to get user: HTTP ${response.status} ${response.statusText}`,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my main reviewed comment please about this line

});
if (!response.ok) {
throw new Error(
`Failed to create user: HTTP ${response.status} ${response.statusText}`,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my main reviewed comment please about this line

});
if (!response.ok)
throw new Error(
`Failed to get user: HTTP ${response.status} ${response.statusText}`,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my main reviewed comment please about this line

});
if (!response.ok) {
throw new Error(
`Failed to get user: HTTP ${response.status} ${response.statusText}`,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my main reviewed comment please about this line

});
if (!response.ok) {
throw new Error(
`Failed to get user: HTTP ${response.status} ${response.statusText}`,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my main reviewed comment please about this line

});
if (!response.ok) {
throw new Error(
`Failed to get user: HTTP ${response.status} ${response.statusText}`,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my main reviewed comment please about this line

});
if (!response.ok) {
throw new Error(
`Failed to delete post: HTTP ${response.status} ${response.statusText}`,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my main reviewed comment please about this line

Copy link
Copy Markdown

@JQnetherlands JQnetherlands left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello, Hannah.

I will start with the good news! you have passed both task successfully, you almost have exceeds expectations ( almost 5 starts), now I will go on with the nices to have.

About task 1 (I commented your code as well) , I loved that you introduced the --- line separator to let the user known that the receipt is finish (see my comment in the code), this is a very good thinking towards the user experience some \n were missing (after alcohol, instructions ), apart from this your task 1 is perfect.

About task 2, all your functions accomplish their goal , well done, each of one shows you do understand the CRUD and HTTP actions and what each Method needs to successfully fetch to the back end (GET, POST, UPDATE, DELETE).

The only feedback I have to write better code is the following:

Right now you have ---> Failed to delete post: HTTP ${response.status} ${response.statusText}

That would be ---> Failed to delete post: HTTP 403 forbidden

Do you think it is clear enough information for the user to know what went wrong?
Can you imagine a better statement for the user?

for example this you could do if you change your code a bit, I will give you the final expected output that I am talking about:

clearer output ---> Failed to delete post: HTTP 403 You can only modify your own posts

Do you see the difference? can you imagine how you could make your code give that example? HINT: maybe an inline conditional , do you know which one?

That you could apply to each function to make it more user friendly.

Again, you did super well overall, you passed successfully and almost beyond expectations, please be proud of yourself and keep the good work! Congratulations

@JQnetherlands JQnetherlands added the Reviewed This assignment has been reivewed by a mentor and a feedback has been provided label Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Reviewed This assignment has been reivewed by a mentor and a feedback has been provided

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants