forked from AdaGold/video-store-api
-
Notifications
You must be signed in to change notification settings - Fork 25
Goeun&Semret - Edges - VideoStoreAPI #2
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
Open
snicodimos
wants to merge
54
commits into
Ada-C10:master
Choose a base branch
from
snicodimos: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
54 commits
Select commit
Hold shift + click to select a range
e618db2
intial set up for rails new api
snicodimos f1ac3c8
create new controllers and routes for customers and movies
goeunpark 87f1196
test routes work
goeunpark 32dc5e2
test zomg
goeunpark 045f477
create model for movie and customer
goeunpark 598c0af
add validations in models
goeunpark e11b1a5
first test in customers controller, fix test helper
goeunpark c276635
scaffolding for movie controller tests
goeunpark d42fd3a
add yml files
goeunpark 98a97fa
add validation testing for movie model
goeunpark a80bd95
customer validations
snicodimos 91c026e
index and helper method for movies controller
snicodimos c433bbe
index and helper method for customer controller
snicodimos a4078c9
added show method in movie controller
snicodimos 40c0263
made minor changes in both movie and customer controller of things to…
snicodimos eba61e4
added create method for movie controller
snicodimos 21785f7
added two migrations to add colums for rental wave
snicodimos f27fabf
created controller and model for rental
snicodimos 0d2d924
added new non-restful routes and added model validations to rentals
snicodimos 5e16e0c
added another migration to add foreign key and due date col
snicodimos 45cb9d9
added another migration to add status in rental db, and psedo coded r…
snicodimos 44af084
take out _id in yml, validations testing for rental model green
goeunpark 9518052
added relational testing
goeunpark f66b4c7
added relation tests for movies and customer model testing
snicodimos e0ecee8
fix rentals yml, refactor using let in test
goeunpark e3102da
Merge branch 'master' of https://github.com/snicodimos/VideoStoreAPI
snicodimos 7d1e3b3
remove spaces
goeunpark 4b34128
nullify dependent rental in movie model
goeunpark 90459df
add helper method check_response for controller tests
goeunpark 48656b6
tests for index, show, create
goeunpark c4464bd
customer controller tests
snicodimos 85db49a
Merge branch 'master' of https://github.com/snicodimos/VideoStoreAPI
snicodimos 5e5a375
added helper method in tests that will be used with movie and custome…
snicodimos 8f7ff54
created helper method to set available as inventory at initialization
snicodimos 115ead4
added checked out movie var for customers
snicodimos 81a8f7c
Added movie checked var to the test
snicodimos 0d4ca14
add due_date and checkedout in yml
goeunpark 43f857a
create movie yml with no available inventory
goeunpark 2d7b7da
created route shortcuts
goeunpark adb36ce
create two tests for checkout in rentals controller
goeunpark ab4f54d
increments movies checked out, decrements available inventory, tests …
goeunpark 7c3c542
adjustments in routes and controllers to pass smoke tests
goeunpark 92123d6
remove spaces
goeunpark 45928c0
Checkin method in rental controller and checkin test for that method
snicodimos 5e0e5d7
refactor rentals controller test
goeunpark a350804
test for returning error for rentals that DNE
goeunpark 11c6434
refactor rent_movie and return_movie to model testing
goeunpark e71b812
spacing
goeunpark 119e095
add sorting by name functionality
goeunpark 1a1bd5b
take out unnecessary line
goeunpark 9ddb611
add will_paginate, create paginate conditional in index customers
goeunpark 7b9a691
added pagination gem
snicodimos 503f2b2
add pagination options to controller
goeunpark 5c440ca
take out spaces
goeunpark 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 hidden or 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,23 @@ | ||
| # 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 | ||
|
|
||
| # Ignore uploaded files in development | ||
| /storage/* | ||
| !/storage/.keep | ||
|
|
||
| .byebug_history | ||
|
|
||
| # Ignore master key for decrypting credentials and more. | ||
| /config/master.key |
This file contains hidden or 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 @@ | ||
| ruby-2.5.1 |
This file contains hidden or 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,58 @@ | ||
| source 'https://rubygems.org' | ||
| git_source(:github) { |repo| "https://github.com/#{repo}.git" } | ||
|
|
||
| ruby '2.5.1' | ||
|
|
||
| gem "will_paginate" | ||
|
|
||
| gem 'api-pagination' | ||
|
|
||
| # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' | ||
| gem 'rails', '~> 5.2.1' | ||
| # Use postgresql as the database for Active Record | ||
| gem 'pg', '>= 0.18', '< 2.0' | ||
| # Use Puma as the app server | ||
| gem 'puma', '~> 3.11' | ||
| # 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', '~> 4.0' | ||
| # Use ActiveModel has_secure_password | ||
| # gem 'bcrypt', '~> 3.1.7' | ||
|
|
||
| # Use ActiveStorage variant | ||
| # gem 'mini_magick', '~> 4.8' | ||
|
|
||
| # Use Capistrano for deployment | ||
| # gem 'capistrano-rails', group: :development | ||
|
|
||
| # Reduces boot times through caching; required in config/boot.rb | ||
| gem 'bootsnap', '>= 1.1.0', require: false | ||
|
|
||
| # 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] | ||
|
|
||
| group :development, :test do | ||
| gem 'pry-rails' | ||
| end | ||
|
|
||
| group :test do | ||
| gem 'minitest-rails' | ||
| gem 'minitest-reporters' | ||
| end |
This file contains hidden or 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,173 @@ | ||
| GEM | ||
| remote: https://rubygems.org/ | ||
| specs: | ||
| actioncable (5.2.1) | ||
| actionpack (= 5.2.1) | ||
| nio4r (~> 2.0) | ||
| websocket-driver (>= 0.6.1) | ||
| actionmailer (5.2.1) | ||
| actionpack (= 5.2.1) | ||
| actionview (= 5.2.1) | ||
| activejob (= 5.2.1) | ||
| mail (~> 2.5, >= 2.5.4) | ||
| rails-dom-testing (~> 2.0) | ||
| actionpack (5.2.1) | ||
| actionview (= 5.2.1) | ||
| activesupport (= 5.2.1) | ||
| rack (~> 2.0) | ||
| rack-test (>= 0.6.3) | ||
| rails-dom-testing (~> 2.0) | ||
| rails-html-sanitizer (~> 1.0, >= 1.0.2) | ||
| actionview (5.2.1) | ||
| activesupport (= 5.2.1) | ||
| builder (~> 3.1) | ||
| erubi (~> 1.4) | ||
| rails-dom-testing (~> 2.0) | ||
| rails-html-sanitizer (~> 1.0, >= 1.0.3) | ||
| activejob (5.2.1) | ||
| activesupport (= 5.2.1) | ||
| globalid (>= 0.3.6) | ||
| activemodel (5.2.1) | ||
| activesupport (= 5.2.1) | ||
| activerecord (5.2.1) | ||
| activemodel (= 5.2.1) | ||
| activesupport (= 5.2.1) | ||
| arel (>= 9.0) | ||
| activestorage (5.2.1) | ||
| actionpack (= 5.2.1) | ||
| activerecord (= 5.2.1) | ||
| marcel (~> 0.3.1) | ||
| activesupport (5.2.1) | ||
| concurrent-ruby (~> 1.0, >= 1.0.2) | ||
| i18n (>= 0.7, < 2) | ||
| minitest (~> 5.1) | ||
| tzinfo (~> 1.1) | ||
| ansi (1.5.0) | ||
| api-pagination (4.8.1) | ||
| arel (9.0.0) | ||
| bootsnap (1.3.2) | ||
| msgpack (~> 1.0) | ||
| builder (3.2.3) | ||
| byebug (10.0.2) | ||
| coderay (1.1.2) | ||
| concurrent-ruby (1.1.1) | ||
| crass (1.0.4) | ||
| erubi (1.7.1) | ||
| ffi (1.9.25) | ||
| globalid (0.4.1) | ||
| activesupport (>= 4.2.0) | ||
| i18n (1.1.1) | ||
| concurrent-ruby (~> 1.0) | ||
| listen (3.1.5) | ||
| rb-fsevent (~> 0.9, >= 0.9.4) | ||
| rb-inotify (~> 0.9, >= 0.9.7) | ||
| ruby_dep (~> 1.2) | ||
| loofah (2.2.3) | ||
| crass (~> 1.0.2) | ||
| nokogiri (>= 1.5.9) | ||
| mail (2.7.1) | ||
| mini_mime (>= 0.1.1) | ||
| marcel (0.3.3) | ||
| mimemagic (~> 0.3.2) | ||
| method_source (0.9.1) | ||
| mimemagic (0.3.2) | ||
| mini_mime (1.0.1) | ||
| mini_portile2 (2.3.0) | ||
| minitest (5.11.3) | ||
| minitest-rails (3.0.0) | ||
| minitest (~> 5.8) | ||
| railties (~> 5.0) | ||
| minitest-reporters (1.3.5) | ||
| ansi | ||
| builder | ||
| minitest (>= 5.0) | ||
| ruby-progressbar | ||
| msgpack (1.2.4) | ||
| nio4r (2.3.1) | ||
| nokogiri (1.8.5) | ||
| mini_portile2 (~> 2.3.0) | ||
| pg (1.1.3) | ||
| pry (0.12.0) | ||
| coderay (~> 1.1.0) | ||
| method_source (~> 0.9.0) | ||
| pry-rails (0.3.6) | ||
| pry (>= 0.10.4) | ||
| puma (3.12.0) | ||
| rack (2.0.5) | ||
| rack-test (1.1.0) | ||
| rack (>= 1.0, < 3) | ||
| rails (5.2.1) | ||
| actioncable (= 5.2.1) | ||
| actionmailer (= 5.2.1) | ||
| actionpack (= 5.2.1) | ||
| actionview (= 5.2.1) | ||
| activejob (= 5.2.1) | ||
| activemodel (= 5.2.1) | ||
| activerecord (= 5.2.1) | ||
| activestorage (= 5.2.1) | ||
| activesupport (= 5.2.1) | ||
| bundler (>= 1.3.0) | ||
| railties (= 5.2.1) | ||
| sprockets-rails (>= 2.0.0) | ||
| rails-dom-testing (2.0.3) | ||
| activesupport (>= 4.2.0) | ||
| nokogiri (>= 1.6) | ||
| rails-html-sanitizer (1.0.4) | ||
| loofah (~> 2.2, >= 2.2.2) | ||
| railties (5.2.1) | ||
| actionpack (= 5.2.1) | ||
| activesupport (= 5.2.1) | ||
| method_source | ||
| rake (>= 0.8.7) | ||
| thor (>= 0.19.0, < 2.0) | ||
| rake (12.3.1) | ||
| rb-fsevent (0.10.3) | ||
| rb-inotify (0.9.10) | ||
| ffi (>= 0.5.0, < 2) | ||
| ruby-progressbar (1.10.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.2) | ||
| 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) | ||
| tzinfo (1.2.5) | ||
| thread_safe (~> 0.1) | ||
| websocket-driver (0.7.0) | ||
| websocket-extensions (>= 0.1.0) | ||
| websocket-extensions (0.1.3) | ||
| will_paginate (3.0.12) | ||
|
|
||
| PLATFORMS | ||
| ruby | ||
|
|
||
| DEPENDENCIES | ||
| api-pagination | ||
| bootsnap (>= 1.1.0) | ||
| byebug | ||
| listen (>= 3.0.5, < 3.2) | ||
| minitest-rails | ||
| minitest-reporters | ||
| pg (>= 0.18, < 2.0) | ||
| pry-rails | ||
| puma (~> 3.11) | ||
| rails (~> 5.2.1) | ||
| spring | ||
| spring-watcher-listen (~> 2.0.0) | ||
| tzinfo-data | ||
| will_paginate | ||
|
|
||
| RUBY VERSION | ||
| ruby 2.5.1p57 | ||
|
|
||
| BUNDLED WITH | ||
| 1.17.1 |
This file contains hidden or 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,9 @@ | ||
| guard :minitest, autorun: false, spring: true do | ||
| watch(%r{^app/(.+).rb$}) { |m| "test/#{m[1]}_test.rb" } | ||
| watch(%r{^app/controllers/application_controller.rb$}) { 'test/controllers' } | ||
| watch(%r{^app/controllers/(.+)_controller.rb$}) { |m| "test/integration/#{m[1]}_test.rb" } | ||
| watch(%r{^app/views/(.+)_mailer/.+}) { |m| "test/mailers/#{m[1]}_mailer_test.rb" } | ||
| watch(%r{^lib/(.+).rb$}) { |m| "test/lib/#{m[1]}_test.rb" } | ||
| watch(%r{^test/.+_test.rb$}) | ||
| watch(%r{^test/test_helper.rb$}) { 'test' } | ||
| end |
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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,7 @@ | ||
| class ApplicationController < ActionController::API | ||
|
|
||
| def render_error(status, errors) | ||
| render json: { errors: errors}, status: status | ||
|
|
||
| end | ||
| end |
Empty file.
This file contains hidden or 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,21 @@ | ||
| class CustomersController < ApplicationController | ||
|
|
||
| def index | ||
| customers = Customer.all | ||
| # sorting case sensitive, names must be capitalized | ||
| if params[:n] && params[:p] && params[:sort] | ||
| customers = Customer.paginate(:page => params[:p], :per_page => params[:n]).order(params['sort']) | ||
| elsif params[:n] && params[:p] | ||
| customers = Customer.paginate(:page => params[:p], :per_page => params[:n]) | ||
| else params[:sort] | ||
| customers = Customer.order(params['sort']) | ||
| end | ||
| render json: jsonify(customers), status: :ok | ||
| end | ||
|
|
||
| private | ||
|
|
||
| def jsonify(customer_data) | ||
| return customer_data.as_json(only: [:id, :name, :registered_at, :postal_code, :phone, :movies_checked_out_count]) | ||
| end | ||
| end |
This file contains hidden or 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,47 @@ | ||
| class MoviesController < ApplicationController | ||
|
|
||
| def index | ||
| movies = Movie.all | ||
| render json: jsonify_index(movies), status: :ok | ||
| end | ||
|
|
||
| def show | ||
| movie_id = params[:id] | ||
| movie = Movie.find_by(id: movie_id) | ||
|
|
||
| if movie | ||
| render json: jsonify_show(movie), status: :ok | ||
| else | ||
| render_error(:not_found, {id: ["Movie with id: #{movie_id} not found"]}) | ||
| end | ||
| end | ||
|
|
||
| def create | ||
| movie = Movie.new(movie_params) | ||
|
|
||
| if movie.save | ||
| render json: {id: movie.id} | ||
| else | ||
| render_error(:bad_request, movie.errors.messages) | ||
| end | ||
| end | ||
|
|
||
| private | ||
|
|
||
| def movie_params | ||
| # 11 tests are failing and found out that we need to change the params from | ||
| # params.require(:movie) | ||
| # now 8 tests passed on postman | ||
|
|
||
| params.permit(:title, :overview, :release_date, :inventory) | ||
| end | ||
|
|
||
| def jsonify_index(movie_data) | ||
| return movie_data.as_json(only: [:id, :title, :release_date]) | ||
| end | ||
|
|
||
| def jsonify_show(movie_data) | ||
| return movie_data.as_json(only: [:title, :overview, :release_date, :inventory, :available_inventory]) | ||
| end | ||
|
|
||
| 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.
Uh oh!
There was an error while loading. Please reload this page.
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.
What is this comment in reference to so I can address it?
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.
Oh these were our note for ourselves but we forgot to delete it in the final version. All of our tests pass. Sorry for the confusion.