forked from AdaGold/video-store-api
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Jessica Owens, Shaunna Wiens --carets #21
Open
skwiens
wants to merge
38
commits into
Ada-C8:master
Choose a base branch
from
skwiens:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
38 commits
Select commit
Hold shift + click to select a range
467b79c
Generated customer and movie models
vertige c9e828f
Added basic rote instantiation tests
vertige 89f2bd0
customer index route and action
skwiens 4bb42b7
cust index returns json
skwiens 11ad4e5
json returns an array
skwiens 82000b1
customer index returns all customers with reqd fields
skwiens ad0b16b
refactor cust index test
skwiens 6fe9398
Wrote Customers validation tests
vertige f7e0fa0
Included registered at in the validation
vertige ba88916
Assessed our status responses for CustomersController#index
vertige 369b589
validations for movie model
skwiens c31c0d8
refactored customer model test
skwiens 4ae51bb
validated id
skwiens 2ae7ebd
MoviesController#index test-returns successfully returns json as an A…
vertige 85f39e6
MoviesController#index test-returns customers with exactly the fields…
vertige 94b9732
MoviesController#index test-returns an empty array if there are no Mo…
vertige 1a68d14
Wrote and tested MoviesController#Show tests and methods
vertige 59f9f67
Prepped empty MoviesController#create tests
vertige a48ffb9
Wrote and tested MoviesController#create method
vertige 9cb1aca
rentals model and controller generated
skwiens 4e04454
test fixtures added
skwiens e17f92b
movie relationships and tests
skwiens 2b167e9
fixed format to pass smokeman tests
skwiens 1f10ddd
Added Customer Rental relation tests
vertige 26d4aee
Tested Rental model validations
vertige ef1a5d6
Wrote tests for belongs to movie and customer
vertige 9f1431f
Added Relation tests when custoer and movie are destroyed
vertige 08ae9f9
checkout movie action in rentails controller -- still doesn't change …
skwiens 23320d2
checkout action in rentals controller AND set_checkout method in rent…
skwiens 645e47d
Wrote tests for Movie#rent
vertige c068f8e
Wrote tests for Movie#return
vertige fd59502
Wrote available_inventory test
vertige 8197e59
finished tests and checkout action in rental controller now changes m…
skwiens fadd223
added available_inventory to MoviesController#show
vertige 6fca43e
fix strong params and recovery if out is nil for smoke test
skwiens 3cc33b4
Wrote first checkin controller test. breaking for lunch
vertige 7adee01
returns the movie test for movie for rental controller
skwiens 08fbe9a
finished tests for checkin in the controller
skwiens File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# See https://help.github.com/articles/ignoring-files for more about ignoring files. | ||
# | ||
# If you find yourself ignoring temporary files generated by your text editor | ||
# or operating system, you probably want to add a global ignore instead: | ||
# git config --global core.excludesfile '~/.gitignore_global' | ||
|
||
# Ignore bundler config. | ||
/.bundle | ||
|
||
# Ignore all logfiles and tempfiles. | ||
/log/* | ||
/tmp/* | ||
!/log/.keep | ||
!/tmp/.keep | ||
|
||
.byebug_history |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
source 'https://rubygems.org' | ||
|
||
git_source(:github) do |repo_name| | ||
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") | ||
"https://github.com/#{repo_name}.git" | ||
end | ||
|
||
gem 'active_model_serializers' | ||
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' | ||
gem 'rails', '~> 5.1.4' | ||
# Use postgresql as the database for Active Record | ||
gem 'pg', '~> 0.18' | ||
# Use Puma as the app server | ||
gem 'puma', '~> 3.7' | ||
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder | ||
# gem 'jbuilder', '~> 2.5' | ||
# Use Redis adapter to run Action Cable in production | ||
# gem 'redis', '~> 3.0' | ||
# Use ActiveModel has_secure_password | ||
# gem 'bcrypt', '~> 3.1.7' | ||
|
||
# Use Capistrano for deployment | ||
# gem 'capistrano-rails', group: :development | ||
|
||
# Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible | ||
# gem 'rack-cors' | ||
|
||
group :development, :test do | ||
# Call 'byebug' anywhere in the code to stop execution and get a debugger console | ||
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] | ||
end | ||
|
||
group :development do | ||
gem 'listen', '>= 3.0.5', '< 3.2' | ||
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring | ||
gem 'spring' | ||
gem 'spring-watcher-listen', '~> 2.0.0' | ||
end | ||
|
||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem | ||
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] | ||
|
||
gem 'jquery-turbolinks' | ||
group :development do | ||
gem 'better_errors' | ||
gem 'pry-rails' | ||
gem 'binding_of_caller' | ||
end | ||
|
||
group :test do | ||
gem 'minitest-rails' | ||
gem 'minitest-reporters' | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
GEM | ||
remote: https://rubygems.org/ | ||
specs: | ||
actioncable (5.1.4) | ||
actionpack (= 5.1.4) | ||
nio4r (~> 2.0) | ||
websocket-driver (~> 0.6.1) | ||
actionmailer (5.1.4) | ||
actionpack (= 5.1.4) | ||
actionview (= 5.1.4) | ||
activejob (= 5.1.4) | ||
mail (~> 2.5, >= 2.5.4) | ||
rails-dom-testing (~> 2.0) | ||
actionpack (5.1.4) | ||
actionview (= 5.1.4) | ||
activesupport (= 5.1.4) | ||
rack (~> 2.0) | ||
rack-test (>= 0.6.3) | ||
rails-dom-testing (~> 2.0) | ||
rails-html-sanitizer (~> 1.0, >= 1.0.2) | ||
actionview (5.1.4) | ||
activesupport (= 5.1.4) | ||
builder (~> 3.1) | ||
erubi (~> 1.4) | ||
rails-dom-testing (~> 2.0) | ||
rails-html-sanitizer (~> 1.0, >= 1.0.3) | ||
active_model_serializers (0.10.6) | ||
actionpack (>= 4.1, < 6) | ||
activemodel (>= 4.1, < 6) | ||
case_transform (>= 0.2) | ||
jsonapi-renderer (>= 0.1.1.beta1, < 0.2) | ||
activejob (5.1.4) | ||
activesupport (= 5.1.4) | ||
globalid (>= 0.3.6) | ||
activemodel (5.1.4) | ||
activesupport (= 5.1.4) | ||
activerecord (5.1.4) | ||
activemodel (= 5.1.4) | ||
activesupport (= 5.1.4) | ||
arel (~> 8.0) | ||
activesupport (5.1.4) | ||
concurrent-ruby (~> 1.0, >= 1.0.2) | ||
i18n (~> 0.7) | ||
minitest (~> 5.1) | ||
tzinfo (~> 1.1) | ||
ansi (1.5.0) | ||
arel (8.0.0) | ||
better_errors (2.4.0) | ||
coderay (>= 1.0.0) | ||
erubi (>= 1.0.0) | ||
rack (>= 0.9.0) | ||
binding_of_caller (0.7.3) | ||
debug_inspector (>= 0.0.1) | ||
builder (3.2.3) | ||
byebug (9.1.0) | ||
case_transform (0.2) | ||
activesupport | ||
coderay (1.1.2) | ||
concurrent-ruby (1.0.5) | ||
crass (1.0.2) | ||
debug_inspector (0.0.3) | ||
erubi (1.7.0) | ||
ffi (1.9.18) | ||
globalid (0.4.1) | ||
activesupport (>= 4.2.0) | ||
i18n (0.9.1) | ||
concurrent-ruby (~> 1.0) | ||
jquery-turbolinks (2.1.0) | ||
railties (>= 3.1.0) | ||
turbolinks | ||
jsonapi-renderer (0.1.3) | ||
listen (3.1.5) | ||
rb-fsevent (~> 0.9, >= 0.9.4) | ||
rb-inotify (~> 0.9, >= 0.9.7) | ||
ruby_dep (~> 1.2) | ||
loofah (2.1.1) | ||
crass (~> 1.0.2) | ||
nokogiri (>= 1.5.9) | ||
mail (2.7.0) | ||
mini_mime (>= 0.1.1) | ||
method_source (0.9.0) | ||
mini_mime (0.1.4) | ||
mini_portile2 (2.3.0) | ||
minitest (5.10.3) | ||
minitest-rails (3.0.0) | ||
minitest (~> 5.8) | ||
railties (~> 5.0) | ||
minitest-reporters (1.1.18) | ||
ansi | ||
builder | ||
minitest (>= 5.0) | ||
ruby-progressbar | ||
nio4r (2.1.0) | ||
nokogiri (1.8.1) | ||
mini_portile2 (~> 2.3.0) | ||
pg (0.21.0) | ||
pry (0.11.2) | ||
coderay (~> 1.1.0) | ||
method_source (~> 0.9.0) | ||
pry-rails (0.3.6) | ||
pry (>= 0.10.4) | ||
puma (3.10.0) | ||
rack (2.0.3) | ||
rack-test (0.7.0) | ||
rack (>= 1.0, < 3) | ||
rails (5.1.4) | ||
actioncable (= 5.1.4) | ||
actionmailer (= 5.1.4) | ||
actionpack (= 5.1.4) | ||
actionview (= 5.1.4) | ||
activejob (= 5.1.4) | ||
activemodel (= 5.1.4) | ||
activerecord (= 5.1.4) | ||
activesupport (= 5.1.4) | ||
bundler (>= 1.3.0) | ||
railties (= 5.1.4) | ||
sprockets-rails (>= 2.0.0) | ||
rails-dom-testing (2.0.3) | ||
activesupport (>= 4.2.0) | ||
nokogiri (>= 1.6) | ||
rails-html-sanitizer (1.0.3) | ||
loofah (~> 2.0) | ||
railties (5.1.4) | ||
actionpack (= 5.1.4) | ||
activesupport (= 5.1.4) | ||
method_source | ||
rake (>= 0.8.7) | ||
thor (>= 0.18.1, < 2.0) | ||
rake (12.2.1) | ||
rb-fsevent (0.10.2) | ||
rb-inotify (0.9.10) | ||
ffi (>= 0.5.0, < 2) | ||
ruby-progressbar (1.9.0) | ||
ruby_dep (1.5.0) | ||
spring (2.0.2) | ||
activesupport (>= 4.2) | ||
spring-watcher-listen (2.0.1) | ||
listen (>= 2.7, < 4.0) | ||
spring (>= 1.2, < 3.0) | ||
sprockets (3.7.1) | ||
concurrent-ruby (~> 1.0) | ||
rack (> 1, < 3) | ||
sprockets-rails (3.2.1) | ||
actionpack (>= 4.0) | ||
activesupport (>= 4.0) | ||
sprockets (>= 3.0.0) | ||
thor (0.20.0) | ||
thread_safe (0.3.6) | ||
turbolinks (5.0.1) | ||
turbolinks-source (~> 5) | ||
turbolinks-source (5.0.3) | ||
tzinfo (1.2.4) | ||
thread_safe (~> 0.1) | ||
websocket-driver (0.6.5) | ||
websocket-extensions (>= 0.1.0) | ||
websocket-extensions (0.1.2) | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
active_model_serializers | ||
better_errors | ||
binding_of_caller | ||
byebug | ||
jquery-turbolinks | ||
listen (>= 3.0.5, < 3.2) | ||
minitest-rails | ||
minitest-reporters | ||
pg (~> 0.18) | ||
pry-rails | ||
puma (~> 3.7) | ||
rails (~> 5.1.4) | ||
spring | ||
spring-watcher-listen (~> 2.0.0) | ||
tzinfo-data | ||
|
||
BUNDLED WITH | ||
1.15.4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Add your own tasks in files placed in lib/tasks ending in .rake, | ||
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. | ||
|
||
require_relative 'config/application' | ||
|
||
Rails.application.load_tasks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
module ApplicationCable | ||
class Channel < ActionCable::Channel::Base | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
module ApplicationCable | ||
class Connection < ActionCable::Connection::Base | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
class ApplicationController < ActionController::API | ||
end |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
class CustomersController < ApplicationController | ||
def index | ||
customers = Customer.all | ||
|
||
render json: | ||
customers.as_json( | ||
only: [:id, :name, :registered_at, :postal_code, :phone], status: :ok | ||
) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
class MoviesController < ApplicationController | ||
|
||
def index | ||
movies = Movie.all | ||
|
||
render json: movies.as_json(only: [:id, :title, :release_date]), status: :ok | ||
end | ||
|
||
def show | ||
movie = Movie.find_by(id: params[:id]) | ||
|
||
if movie | ||
show_movie_hash = { | ||
title: movie.title, | ||
overview: movie.overview, | ||
release_date: movie.release_date, | ||
inventory: movie.inventory, | ||
available_inventory: movie.available_inventory, | ||
} | ||
|
||
render json: show_movie_hash.as_json, status: :ok | ||
else | ||
render json: { ok: false }, status: :not_found | ||
end | ||
end | ||
|
||
def create | ||
movie = Movie.new(movie_params) | ||
|
||
if movie.save | ||
render json: movie.as_json(only: [:id]), status: :ok | ||
else | ||
render json: { ok: false }, status: :bad_request | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would also include the errors hash messages in the JSON |
||
end end | ||
|
||
private | ||
def movie_params | ||
params.permit(:title, :overview, :release_date, :inventory, :out) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
class RentalsController < ApplicationController | ||
|
||
def checkout | ||
rental = Rental.new(rental_params) | ||
rental.set_checkout | ||
|
||
if rental.valid? && rental.movie.rent | ||
rental.save | ||
rental.movie.save | ||
render json: rental.as_json(only: [:id]), status: :ok | ||
else | ||
render json: {ok: false}, status: :bad_request | ||
end | ||
end | ||
|
||
def check_in | ||
rental = Rental.find_rental(rental_params) | ||
|
||
if rental && rental.movie.return | ||
rental.set_check_in | ||
rental.save | ||
rental.movie.save | ||
render json: rental.as_json(only: [:id]), status: :ok | ||
else | ||
render json: {ok: false}, status: :bad_request | ||
end | ||
|
||
end | ||
|
||
private | ||
def rental_params | ||
params.permit(:customer_id, :movie_id) | ||
end | ||
|
||
|
||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
class ApplicationJob < ActiveJob::Base | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
class ApplicationMailer < ActionMailer::Base | ||
default from: '[email protected]' | ||
layout 'mailer' | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
class ApplicationRecord < ActiveRecord::Base | ||
self.abstract_class = true | ||
end |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
class Customer < ApplicationRecord | ||
has_many :rentals, dependent: :nullify | ||
|
||
validates_presence_of :name, :postal_code, :phone, :registered_at | ||
|
||
end |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm... no # of checked out movies