diff --git a/spec/controllers/admin/application_controller_spec.rb b/spec/controllers/admin/application_controller_spec.rb index 7ce1f6778b707af49e1dec5fab7afb58db8cbf10..8e6e20c5a12efa013c93e10e188586328749da8d 100644 --- a/spec/controllers/admin/application_controller_spec.rb +++ b/spec/controllers/admin/application_controller_spec.rb @@ -18,7 +18,7 @@ RSpec.describe Admin::OrdersController, type: :controller do it "redirect to custom route after destroy" do order = create(:order) - delete :destroy, id: order.to_param + delete :destroy, params: { id: order.to_param } expect(response).to redirect_to(admin_customers_path) end @@ -27,7 +27,7 @@ RSpec.describe Admin::OrdersController, type: :controller do order_attributes = build(:order, customer: customer).attributes params = order_attributes.except("id", "created_at", "updated_at", "shipped_at") - post :create, order: params + post :create, params: { order: params } expect(response).to redirect_to(admin_customer_path(customer)) end @@ -35,7 +35,7 @@ RSpec.describe Admin::OrdersController, type: :controller do order = create(:order) order_params = { address_line_one: order.address_line_one } - put :update, id: order.to_param, order: order_params + put :update, params: { id: order.to_param, order: order_params } expect(response).to redirect_to(admin_customer_path(order.customer)) end end diff --git a/spec/controllers/admin/blog/posts_controller_spec.rb b/spec/controllers/admin/blog/posts_controller_spec.rb index 370fd76200ae91d671a0781f8829214d211ad457..4c02019c0ff18feb3722e4b925f3df2f79d5ae93 100644 --- a/spec/controllers/admin/blog/posts_controller_spec.rb +++ b/spec/controllers/admin/blog/posts_controller_spec.rb @@ -11,7 +11,7 @@ describe Admin::Blog::PostsController, type: :controller do it "passes the search term to the view" do locals = capture_view_locals do - get :index, search: "foo" + get :index, params: { search: "foo" } end expect(locals[:search_term]).to eq("foo") @@ -29,7 +29,7 @@ describe Admin::Blog::PostsController, type: :controller do blog_post = create(:blog_post) locals = capture_view_locals do - get :show, id: blog_post.to_param + get :show, params: { id: blog_post.to_param } end page = locals[:page] @@ -51,7 +51,7 @@ describe Admin::Blog::PostsController, type: :controller do blog_post = create(:blog_post) locals = capture_view_locals do - get :edit, id: blog_post.to_param + get :edit, params: { id: blog_post.to_param } end page = locals[:page] @@ -64,12 +64,12 @@ describe Admin::Blog::PostsController, type: :controller do context "with valid params" do it "creates a new blog post" do expect do - post :create, blog_post: attributes_for(:blog_post) + post :create, params: { blog_post: attributes_for(:blog_post) } end.to change(Blog::Post, :count).by(1) end it "redirects to the created blog post" do - post :create, blog_post: attributes_for(:blog_post) + post :create, params: { blog_post: attributes_for(:blog_post) } expect(response).to redirect_to([:admin, Blog::Post.last]) end @@ -82,7 +82,7 @@ describe Admin::Blog::PostsController, type: :controller do invalid_attributes = { title: "" } locals = capture_view_locals do - post :create, blog_post: invalid_attributes + post :create, params: { blog_post: invalid_attributes } end page = locals[:page] @@ -93,7 +93,7 @@ describe Admin::Blog::PostsController, type: :controller do it "re-renders the 'new' template" do invalid_attributes = { title: "" } - post :create, blog_post: invalid_attributes + post :create, params: { blog_post: invalid_attributes } expect(page.find("h1")).to have_content "New Blog Post" end @@ -106,7 +106,10 @@ describe Admin::Blog::PostsController, type: :controller do blog_post = create(:blog_post, title: "old title") new_attributes = { title: "new title" } - put :update, id: blog_post.to_param, blog_post: new_attributes + put( + :update, + params: { id: blog_post.to_param, blog_post: new_attributes }, + ) blog_post.reload expect(blog_post.title).to eq "new title" @@ -116,7 +119,10 @@ describe Admin::Blog::PostsController, type: :controller do blog_post = create(:blog_post) valid_attributes = attributes_for(:blog_post) - put :update, id: blog_post.to_param, blog_post: valid_attributes + put( + :update, + params: { id: blog_post.to_param, blog_post: valid_attributes }, + ) blog_post.reload expect(response).to redirect_to([:admin, blog_post]) @@ -130,7 +136,13 @@ describe Admin::Blog::PostsController, type: :controller do blog_post = create(:blog_post) invalid_attributes = { title: "" } - put :update, id: blog_post.to_param, blog_post: invalid_attributes + put( + :update, + params: { + id: blog_post.to_param, + blog_post: invalid_attributes, + }, + ) expect(page.find("h1")).to have_content "Edit" end @@ -140,7 +152,13 @@ describe Admin::Blog::PostsController, type: :controller do invalid_attributes = { title: "" } locals = capture_view_locals do - put :update, id: blog_post.to_param, blog_post: invalid_attributes + put( + :update, + params: { + id: blog_post.to_param, + blog_post: invalid_attributes, + }, + ) end page = locals[:page] @@ -155,14 +173,14 @@ describe Admin::Blog::PostsController, type: :controller do blog_post = create(:blog_post) expect do - delete :destroy, id: blog_post.to_param + delete :destroy, params: { id: blog_post.to_param } end.to change(Blog::Post, :count).by(-1) end it "redirects to the blog posts list" do blog_post = create(:blog_post) - delete :destroy, id: blog_post.to_param + delete :destroy, params: { id: blog_post.to_param } expect(response).to redirect_to(admin_blog_posts_path) end diff --git a/spec/controllers/admin/customers_controller_spec.rb b/spec/controllers/admin/customers_controller_spec.rb index c16c91c89dc45e505d579a6069ac6c1c2250b415..f750f3313cb1004b24aa1b995823e92ecae87a59 100644 --- a/spec/controllers/admin/customers_controller_spec.rb +++ b/spec/controllers/admin/customers_controller_spec.rb @@ -19,7 +19,7 @@ describe Admin::CustomersController, type: :controller do it "passes the search term to the view" do locals = capture_view_locals do - get :index, search: "foo" + get :index, params: { search: "foo" } end expect(locals[:search_term]).to eq("foo") @@ -73,7 +73,7 @@ describe Admin::CustomersController, type: :controller do customer = create(:customer) locals = capture_view_locals do - get :show, id: customer.to_param + get :show, params: { id: customer.to_param } end page = locals[:page] @@ -95,7 +95,7 @@ describe Admin::CustomersController, type: :controller do customer = create(:customer) locals = capture_view_locals do - get :edit, id: customer.to_param + get :edit, params: { id: customer.to_param } end page = locals[:page] @@ -108,12 +108,12 @@ describe Admin::CustomersController, type: :controller do describe "with valid params" do it "creates a new Customer" do expect { - post :create, customer: attributes_for(:customer) + post :create, params: { customer: attributes_for(:customer) } }.to change(Customer, :count).by(1) end it "redirects to the created customer" do - post :create, customer: attributes_for(:customer) + post :create, params: { customer: attributes_for(:customer) } expect(response).to redirect_to([:admin, Customer.last]) end @@ -124,7 +124,7 @@ describe Admin::CustomersController, type: :controller do invalid_attributes = { name: "" } locals = capture_view_locals do - post :create, customer: invalid_attributes + post :create, params: { customer: invalid_attributes } end page = locals[:page] @@ -141,7 +141,7 @@ describe Admin::CustomersController, type: :controller do new_name = "new name" new_attributes = { name: new_name } - put :update, id: customer.to_param, customer: new_attributes + put :update, params: { id: customer.to_param, customer: new_attributes } customer.reload expect(customer.name).to eq new_name @@ -151,7 +151,10 @@ describe Admin::CustomersController, type: :controller do customer = create(:customer) valid_attributes = attributes_for(:customer) - put :update, id: customer.to_param, customer: valid_attributes + put( + :update, + params: { id: customer.to_param, customer: valid_attributes }, + ) expect(response).to redirect_to([:admin, customer]) end @@ -163,7 +166,10 @@ describe Admin::CustomersController, type: :controller do invalid_attributes = { name: "" } locals = capture_view_locals do - put :update, id: customer.to_param, customer: invalid_attributes + put( + :update, + params: { id: customer.to_param, customer: invalid_attributes }, + ) end page = locals[:page] @@ -178,14 +184,14 @@ describe Admin::CustomersController, type: :controller do customer = create(:customer) expect do - delete :destroy, id: customer.to_param + delete :destroy, params: { id: customer.to_param } end.to change(Customer, :count).by(-1) end it "redirects to the customers list" do customer = create(:customer) - delete :destroy, id: customer.to_param + delete :destroy, params: { id: customer.to_param } expect(response).to redirect_to(admin_customers_url) end diff --git a/spec/controllers/admin/log_entries_controller_spec.rb b/spec/controllers/admin/log_entries_controller_spec.rb index 729fbef47898d2e94e3c8c3ebd61eb3803d15189..fba486fd00e9897c1f231555c8decce945d61da3 100644 --- a/spec/controllers/admin/log_entries_controller_spec.rb +++ b/spec/controllers/admin/log_entries_controller_spec.rb @@ -10,7 +10,7 @@ describe Admin::LogEntriesController, type: :controller do value: logeable.to_global_id.to_s, }, ) - post :create, log_entry: resource_params + post :create, params: { log_entry: resource_params } end describe "with valid params" do @@ -62,7 +62,7 @@ describe Admin::LogEntriesController, type: :controller do LogEntry.attr_accessor :arbitrarily - post :create, log_entry: resource_params + post :create, params: { log_entry: resource_params } logeable_in_params = subject.send(:resource_params).dig( :arbitrarily, @@ -98,7 +98,7 @@ describe Admin::LogEntriesController, type: :controller do value: logeable.to_global_id.to_s, }, ) - put :update, id: original.to_param, log_entry: resource_params + put :update, params: { id: original.to_param, log_entry: resource_params } end describe "with valid params" do diff --git a/spec/controllers/admin/orders_controller_spec.rb b/spec/controllers/admin/orders_controller_spec.rb index cb014fd6884967e9cc9bc66eb3e0d2d7f8d902ce..bbc0da2143c4d05a3456973127ad58aeed7780de 100644 --- a/spec/controllers/admin/orders_controller_spec.rb +++ b/spec/controllers/admin/orders_controller_spec.rb @@ -34,12 +34,12 @@ describe Admin::OrdersController, type: :controller do describe "GET edit" do it "allows me to edit records in Arizona" do az = create :order, customer: user, address_state: "AZ" - expect { get :edit, id: az.id }.not_to raise_error + expect { get :edit, params: { id: az.id } }.not_to raise_error end it "does not allow me to edit other records" do ga = create :order, customer: user, address_state: "GA" - expect { get :edit, id: ga.id }. + expect { get :edit, params: { id: ga.id } }. to raise_error(Pundit::NotAuthorizedError) end end @@ -47,7 +47,7 @@ describe Admin::OrdersController, type: :controller do describe "DELETE destroy" do it "never allows me to delete a record" do o = create :order, customer: user, address_state: "AZ" - expect { delete :destroy, id: o.id }. + expect { delete :destroy, params: { id: o.id } }. to raise_error(Pundit::NotAuthorizedError) end end diff --git a/spec/support/controller_helpers.rb b/spec/support/controller_helpers.rb index b97e9cf631f956c7d0ba76bbfd756b1d6093a031..89bf249940b16b51fdd21a6ee5cf06b00be7d6da 100644 --- a/spec/support/controller_helpers.rb +++ b/spec/support/controller_helpers.rb @@ -11,40 +11,4 @@ module ControllerHelpers end locals end - - def use_new_params_syntax? - Rails::VERSION::STRING >= "5.2" - end - - def get(method, params = {}) - if use_new_params_syntax? - super(method, params: params) - else - super - end - end - - def post(method, params = {}) - if use_new_params_syntax? - super(method, params: params) - else - super - end - end - - def put(method, params = {}) - if use_new_params_syntax? - super(method, params: params) - else - super - end - end - - def delete(method, params = {}) - if use_new_params_syntax? - super(method, params: params) - else - super - end - end end diff --git a/spec/support/http_method_shims.rb b/spec/support/http_method_shims.rb deleted file mode 100644 index 4a0558278bea2e947b042a9b1c0142b88b769efc..0000000000000000000000000000000000000000 --- a/spec/support/http_method_shims.rb +++ /dev/null @@ -1,59 +0,0 @@ -module HTTPMethodShim - module Rails50 - def get(path, params = nil, headers = nil) - super(path, params: params, headers: headers) - end - - def post(path, params = nil, headers = nil) - super(path, params: params, headers: headers) - end - - def put(path, params = nil, headers = nil) - super(path, params: params, headers: headers) - end - - def patch(path, params = nil, headers = nil) - super(path, params: params, headers: headers) - end - - def delete(path, params = nil, headers = nil) - super(path, params: params, headers: headers) - end - end - - module Rails51 - def get(path, params = nil) - super(path, params: params.to_h) - end - - def post(path, params = nil) - super(path, params: params.to_h) - end - - def put(path, params = nil) - super(path, params: params.to_h) - end - - def patch(path, params = nil) - super(path, params: params.to_h) - end - - def delete(path, params = nil) - super(path, params: params.to_h) - end - end -end - -if Gem::Dependency.new("rails", "~> 5.1.0"). - match?("rails", Rails::VERSION::STRING) - RSpec.configure do |config| - config.include HTTPMethodShim::Rails51, type: :controller - end -end - -if Gem::Dependency.new("rails", "~> 5.0.0"). - match?("rails", Rails::VERSION::STRING) - RSpec.configure do |config| - config.include HTTPMethodShim::Rails50, type: :controller - end -end