From 92f23127a3d8516f1b956ac0226c784e813abbdb Mon Sep 17 00:00:00 2001 From: Warner Nielsen Date: Sun, 29 Jan 2017 22:25:40 -0800 Subject: [PATCH 1/4] Update my schema --- db/schema.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/schema.rb b/db/schema.rb index 6e4ef0b..72e19b2 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -37,7 +37,7 @@ t.integer "model_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.integer "user_id", default: 1 + t.integer "user_id", default: 0 end create_table "users", force: :cascade do |t| From 0613068fa6e37323ae85058e1e0212f3d35825d1 Mon Sep 17 00:00:00 2001 From: Warner Nielsen Date: Sun, 29 Jan 2017 23:09:26 -0800 Subject: [PATCH 2/4] Fix factory girl model to have correct mfg id number for test, create mfg in models/model_spec --- spec/controllers/manufacturers_controller_spec.rb | 2 +- spec/factories/models.rb | 12 ++++++------ spec/factories/robots.rb | 2 +- spec/models/manufacturer_spec.rb | 6 +++--- spec/models/model_spec.rb | 10 +++++----- spec/rails_helper.rb | 1 + 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/spec/controllers/manufacturers_controller_spec.rb b/spec/controllers/manufacturers_controller_spec.rb index f84dabd..c2ae530 100644 --- a/spec/controllers/manufacturers_controller_spec.rb +++ b/spec/controllers/manufacturers_controller_spec.rb @@ -4,7 +4,7 @@ RSpec.describe ManufacturersController, type: :controller do before :each do user = create(:user) - @manufacturer = create(:manufacturer) + create(:manufacturer) session_login(user) end diff --git a/spec/factories/models.rb b/spec/factories/models.rb index 35be927..0facd84 100644 --- a/spec/factories/models.rb +++ b/spec/factories/models.rb @@ -1,6 +1,6 @@ -# FactoryGirl.define do -# factory :model do -# model_designation "RX113" -# manufacturer_id 1 -# end -# end +FactoryGirl.define do + factory :model do + model_designation "RX113" + manufacturer_id 14 + end +end diff --git a/spec/factories/robots.rb b/spec/factories/robots.rb index 2352f16..0005195 100644 --- a/spec/factories/robots.rb +++ b/spec/factories/robots.rb @@ -1,5 +1,5 @@ FactoryGirl.define do - factory :model do + factory :robot do designation "HAL" inventory false model_id 1 diff --git a/spec/models/manufacturer_spec.rb b/spec/models/manufacturer_spec.rb index f3fdc4f..8ad79a6 100644 --- a/spec/models/manufacturer_spec.rb +++ b/spec/models/manufacturer_spec.rb @@ -2,7 +2,7 @@ RSpec.describe Manufacturer, type: :model do it "validates that manufacturer has a name" do - expect(FactoryGirl.build(:manufacturer)).to be_valid + expect(create(:manufacturer)).to be_valid end it "should require a name" do @@ -11,9 +11,9 @@ it "has many models" do should have_many(:models) - end + end it "has many robots" do should have_many(:robots) - end + end end diff --git a/spec/models/model_spec.rb b/spec/models/model_spec.rb index b91c3e3..2b01772 100644 --- a/spec/models/model_spec.rb +++ b/spec/models/model_spec.rb @@ -1,16 +1,16 @@ require 'rails_helper' RSpec.describe Model, type: :model do - - xit "validates that model has a model_designation" do - expect(FactoryGirl.build(:model)).to be_valid + it "validates that model has a model_designation" do + create(:manufacturer) + expect(create(:model)).to be_valid end it "belongs to a manufacturer" do should belong_to(:manufacturer) - end + end it "has many robots" do should have_many(:robots) - end + end end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 6a84085..525538d 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -6,6 +6,7 @@ require 'spec_helper' require 'rspec/rails' require 'rack_session_access/capybara' +require 'factory_girl_rails' # Add additional requires below this line. Rails is not loaded until this point! # Requires supporting ruby files with custom matchers and macros, etc, in From 40acb9532153cd01fbcac16bf499905257b9dac9 Mon Sep 17 00:00:00 2001 From: Warner Nielsen Date: Mon, 30 Jan 2017 00:18:36 -0800 Subject: [PATCH 3/4] Got one test to pass, but the session_controller tests wouldn't pass for the POST route --- app/controllers/sessions_controller.rb | 1 + db/schema.rb | 2 +- spec/controllers/robot_controller_spec.rb | 2 -- spec/controllers/sessions_controller_spec.rb | 17 ++++++++++------- spec/factories/models.rb | 2 +- spec/models/model_spec.rb | 6 ++++-- spec/models/user_spec.rb | 2 +- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index efa06fe..b970767 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -6,6 +6,7 @@ def new end def create + p params user = User.find_by(email: params[:session][:email].downcase) if user && user.authenticate(params[:session][:password]) session[:user_id] = user.id diff --git a/db/schema.rb b/db/schema.rb index e8141e7..5fe862d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -37,7 +37,7 @@ t.integer "model_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.integer "user_id", default: 0 + t.integer "user_id", default: 1 end create_table "users", force: :cascade do |t| diff --git a/spec/controllers/robot_controller_spec.rb b/spec/controllers/robot_controller_spec.rb index f3b5a41..e1bd580 100644 --- a/spec/controllers/robot_controller_spec.rb +++ b/spec/controllers/robot_controller_spec.rb @@ -1,8 +1,6 @@ require 'rails_helper' RSpec.describe RobotsController, type: :controller do - # let!(:user) {User.create!(username: 'test', email: 'test@gmail.com', password: 'password')} - before :each do user = create(:user) session_login(user) diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb index e41c8c0..9b56c0d 100644 --- a/spec/controllers/sessions_controller_spec.rb +++ b/spec/controllers/sessions_controller_spec.rb @@ -1,13 +1,13 @@ require 'rails_helper' RSpec.describe SessionsController, type: :controller do - let!(:user) {User.create(username: 'test', email: 'test@gmail.com', password: 'password')} - let!(:manufacturer) {Manufacturer.create!(name: "LKDVDLnjldksjldskj")} - let!(:model) {Model.create!(model_designation: "RX113", manufacturer_id: manufacturer.id)} - let!(:robot) {Robot.create!(designation: "HAL", inventory: false, model_id: model.id, user_id: user.id )} + # let!(:user) {User.create(username: 'test', email: 'test@gmail.com', password: 'password')} +# let!(:manufacturer) {Manufacturer.create!(name: "LKDVDLnjldksjldskj")} +# let!(:model) {Model.create!(model_designation: "RX113", manufacturer_id: manufacturer.id)} +# let!(:robot) {Robot.create!(designation: "HAL", inventory: false, model_id: model.id, user_id: user.id )} before :each do - user = create(:user) + user = build(:user) session_login(user) end @@ -26,8 +26,11 @@ xdescribe 'POST "#create"' do context "when valid params are passed" do it "responds with status code 302" do - post :create, { User: { email: "commissioner@gmail.com", password: "password" } } - expect(response).to have_http_status 302 + + post :create, params: {email: "commissioner@gmail.com", password: "password"} + user = create(:user).attributes + p user + expect(response).to redirect_to(robots_path) end end end diff --git a/spec/factories/models.rb b/spec/factories/models.rb index 0facd84..1b443f6 100644 --- a/spec/factories/models.rb +++ b/spec/factories/models.rb @@ -1,6 +1,6 @@ FactoryGirl.define do factory :model do model_designation "RX113" - manufacturer_id 14 + manufacturer_id 15 end end diff --git a/spec/models/model_spec.rb b/spec/models/model_spec.rb index 2b01772..effe370 100644 --- a/spec/models/model_spec.rb +++ b/spec/models/model_spec.rb @@ -1,9 +1,11 @@ require 'rails_helper' RSpec.describe Model, type: :model do + let!(:manufacturer) {Manufacturer.create!(name: "LKDVDLnjldksjldskj")} + let!(:model) {Model.create!(model_designation: "RX113", manufacturer_id: manufacturer.id)} + it "validates that model has a model_designation" do - create(:manufacturer) - expect(create(:model)).to be_valid + expect(model).to be_valid end it "belongs to a manufacturer" do diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index d20ba96..824f8a6 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -27,6 +27,6 @@ it 'has many robots' do should have_many(:robots) end - end + end end end From a6eea9206111baf59b7e58007f1a0dae472cf438 Mon Sep 17 00:00:00 2001 From: Warner Nielsen Date: Mon, 30 Jan 2017 00:21:20 -0800 Subject: [PATCH 4/4] Update sessions_controller.rb --- app/controllers/sessions_controller.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index b970767..efa06fe 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -6,7 +6,6 @@ def new end def create - p params user = User.find_by(email: params[:session][:email].downcase) if user && user.authenticate(params[:session][:password]) session[:user_id] = user.id