Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 25 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,32 +35,40 @@ Commit your code regularly and meaningfully. This helps both you (in case you ev
Demonstrate your understanding of this week's concepts by answering the following free-form questions. Edit this document to include your answers after each question.

1. In 1-2 sentences, explain what React's `useRouteMatch` hook is used for.

useRouteMatch provides access to the match object. If it is provided with no arguments, it returns the closest match in the component or its parents. A primary use case would be to construct nested paths within your code.

1. How would you explain form validation to someone who has never programmed before?

Form validation in React allows an error message to be displayed if the user has not correctly filled out the form with the expected type of input. For example if a password doesn't meet the guided expectations an error message will display stating something like "Password must be at least 6 characters."

1. In 1-2 sentences, define end to end testing.

End to end testing involves techniques that simulate an actual user of an application. By replicating the actions a user would take, the test helps evaluate whether the results comply with the requirements or expected outcome as a whole.

## Instructions

### Task 1: Project Set Up

- [ ] Create a forked copy of this project
- [ ] Clone your OWN version of the repository (Not Lambda's by mistake!)
- [ ] Implement the project on the main branch, committing changes regularly
- [ ] Push commits: `git push origin main`
- [ ] PUSH EVERYTHING TO THE MAIN BRANCH
- [ x] Create a forked copy of this project
- [ x] Clone your OWN version of the repository (Not Lambda's by mistake!)
- [ x] Implement the project on the main branch, committing changes regularly
- [ x] Push commits: `git push origin main`
- [ x] PUSH EVERYTHING TO THE MAIN BRANCH

### Task 2: Project Requirements

Your finished project must include all of the following requirements:

- [ ] A homepage that has a "/" route and links to your form (button, nav bar, or any other type of link is acceptable but must have an id of "order-pizza")
- [ ] A order form that has a "/pizza" route and shows the form
- [ ] A form with an id of "pizza-form"
- [ ] A name text input field with an id of "name-input"
- [ ] Validation for name and the error message is "name must be at least 2 characters" (Use this exact error message to make sure tests pass) ::: VERY IMPORTANT TO USE THAT EXACT ERROR MESSAGE (casing included!)
- [ ] A dropdown for pizza size with an id of "size-dropdown"
- [ ] A checklist for toppings - at least 4 (hint: name each separately!)
- [ ] Text input for special instructions with an id of "special-text"
- [ ] An Add to Order button that has an id of "order-button" and that submits form and returns a database record of name, size, toppings and special instructions
- [ x] A homepage that has a "/" route and links to your form (button, nav bar, or any other type of link is acceptable but must have an id of "order-pizza")
- [ x] A order form that has a "/pizza" route and shows the form
- [ x] A form with an id of "pizza-form"
- [ x] A name text input field with an id of "name-input"
- [ x] Validation for name and the error message is "name must be at least 2 characters" (Use this exact error message to make sure tests pass) ::: VERY IMPORTANT TO USE THAT EXACT ERROR MESSAGE (casing included!)
- [ x] A dropdown for pizza size with an id of "size-dropdown"
- [ x] A checklist for toppings - at least 4 (hint: name each separately!)
- [ x] Text input for special instructions with an id of "special-text"
- [ x] An Add to Order button that has an id of "order-button" and that submits form and returns a database record of name, size, toppings and special instructions

Data should look something like
```
Expand All @@ -81,9 +89,9 @@ there is a key for each of the toppings and they are booleans

Implement the following tests in Cypress:

- [ ] test that you can add text to the box
- [ ] test that you can select multiple toppings
- [ ] test that you can submit the form
- [ x] test that you can add text to the box
- [ x] test that you can select multiple toppings
- [ x] test that you can submit the form

In your solution, it is essential that you follow best practices and produce clean and professional results. You will be scored on your adherence to proper code style and good organization. Schedule time to review, refine, and assess your work and perform basic professional polishing including spell-checking and grammar-checking on your work. It is better to submit a challenge that meets MVP than one that attempts too much and does not.

Expand Down
Loading