Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Queues - Cara and Allison - VideoStoreAPI #7

Open
wants to merge 41 commits into
base: master
Choose a base branch
from

Conversation

Allison-Northrop
Copy link

Video Store API

Congratulations! You're submitting your assignment!
If you didn't get to the functionality the question is asking about, reply with what you would have done if you had completed it.

Comprehension Questions

Question Answer
Explain how you came up with the design of your ERD, based on the seed data. Based on the seed data we knew there had to be a movie model and customer model and because a movie had an inventory attribute we knew movie had a many to many relationship with a model, therefore we created an intermediary model called rentals.
List all the completed endpoints of your application. get 'movies', to: 'movies#index', as: 'movies'
get 'movies/:title'
get 'customers'
post 'rentals/:title/check-out'
post 'rentals/:title/check-in'

|
| Describe a set of positive and negative test cases you implemented for a model. | Positive case: a movie could be created with all the required attributes. Negative case: It can't be created without a title. |
| Describe a set of positive and negative test cases you implemented for a controller. |Movie Controller: Positive case: For the show method it responded positively when given an existing movie title. Negative case: it responded with not found when given a movie title that didn't exist. |
| How does your API respond when bad data is sent to it? | It renders a bad request or not found and provides details within the json error message. |
| Describe one of your custom model methods and why you chose to wrap that functionality into a method. | Movie.available_inventory: We chose to create this method so that when someone checked out a movie, the actual inventory wouldn't go down in the database, but the available inventory that someone could potentially check out decreased. |
| Do you have any recommendations on how we could improve this project for the next cohort? | |
| Link to Trello | ...our in person communication was on point 😇 |
| Link to ERD | on whiteboard |

@PilgrimMemoirs
Copy link

Video Store

What We're Looking For

Feature Feedback
Core Requirements
Git hygiene Well Done
Comprehension questions Well Done - (While I trust your ERD was on point, its good idea to still take a pic of your ERD & link it)
General
Business Logic in Models Well Done
All 3 required endpoints return expected JSON data Well Done
Requests respond with appropriate HTTP Status Code Well Done
Errors are reported Well Done
Testing
Passes all Smoke Tests Well Done
Model Tests - all relations, validations, and custom functions test positive & negative cases customer should include a positive validation test. Movie's first validation test, "can be created with all required attributes", doesn't look like it's testing anything after creating the movie. Custom model methods, like Movie's available_inventory, aren't being tested.
Controller Tests - URI parameters and data in the request body have positive & negative cases Well Done
Optionals
POST routes use URI parameter and request body to add a new record to the database Well Done
GET /customers shows how many movies are checked out by a customer Well Done
GET /movies/:title shows updated inventory Well Done
Overall
Great work accomplishing all the required tasks (and optional POST) to expectations! My only suggestion is to make sure your tests are covering all positive and negative cases for your models. And that the custom models are being tested.

@brookseakate brookseakate removed their assignment Jul 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants