From 7c8c720976703ba0715d49d7311f70831cf236fa Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Tue, 23 Mar 2021 21:41:03 +0000 Subject: [PATCH 1/4] Fix rspec syntax to work with rails 5.2 --- .../controllers/api/orders_controller_spec.rb | 26 +++++++++---------- spec/controllers/cart_controller_spec.rb | 8 +++--- .../enterprises_controller_spec.rb | 6 ++--- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/spec/controllers/api/orders_controller_spec.rb b/spec/controllers/api/orders_controller_spec.rb index 2dfd2dd035..2969b98d6a 100644 --- a/spec/controllers/api/orders_controller_spec.rb +++ b/spec/controllers/api/orders_controller_spec.rb @@ -133,7 +133,7 @@ module Api end it 'can show only completed orders' do - get :index, params: { format: :json, q: { completed_at_not_null: true, s: 'created_at desc' } } + get :index, params: { q: { completed_at_not_null: true, s: 'created_at desc' } }, as: :json expect(json_response['orders']).to eq serialized_orders([order4, order3, order2, order1]) end @@ -166,12 +166,12 @@ module Api before { allow(controller).to receive(:spree_current_user) { admin_user } } it "when no order number is given" do - get :show, id: "" + get :show, params: { id: "" } expect(response).to have_http_status(:not_found) end it "when order number given is not in the systen" do - get :show, id: "X1321313232" + get :show, params: { id: "X1321313232" } expect(response).to have_http_status(:not_found) end end @@ -179,31 +179,31 @@ module Api context "access" do it "returns unauthorized, as a regular user" do allow(controller).to receive(:spree_current_user) { regular_user } - get :show, id: order.number + get :show, params: { id: order.number } assert_unauthorized! end it "returns the order, as an admin user" do allow(controller).to receive(:spree_current_user) { admin_user } - get :show, id: order.number + get :show, params: { id: order.number } expect_order end it "returns the order, as the order distributor owner" do allow(controller).to receive(:spree_current_user) { order.distributor.owner } - get :show, id: order.number + get :show, params: { id: order.number } expect_order end it "returns unauthorized, as the order product's supplier owner" do allow(controller).to receive(:spree_current_user) { order.line_items.first.variant.product.supplier.owner } - get :show, id: order.number + get :show, params: { id: order.number } assert_unauthorized! end it "returns the order, as the Order Cycle coorinator owner" do allow(controller).to receive(:spree_current_user) { order.order_cycle.coordinator.owner } - get :show, id: order.number + get :show, params: { id: order.number } expect_order end end @@ -215,19 +215,19 @@ module Api it "can view an order not in a standard state" do order.update(completed_at: nil, state: 'shipped') - get :show, id: order.number + get :show, params: { id: order.number } expect_order end it "can view an order with weight calculator (this validates case where options[current_order] is nil on the shipping method serializer)" do order.shipping_method.update_attribute(:calculator, create(:weight_calculator, calculable: order)) allow(controller).to receive(:current_order).and_return order - get :show, id: order.number + get :show, params: { id: order.number } expect_order end it "returns an order with all required fields" do - get :show, id: order.number + get :show, params: { id: order.number } expect_order expect(json_response.symbolize_keys.keys).to include(*order_detailed_attributes) @@ -280,7 +280,7 @@ module Api describe "#capture" do it "captures payments and returns an updated order object" do - put :capture, id: order.number + put :capture, params: { id: order.number } expect(order.reload.pending_payments.empty?).to be true expect_order @@ -305,7 +305,7 @@ module Api end it "marks orders as shipped and returns an updated order object" do - put :ship, id: order.number + put :ship, params: { id: order.number } expect(order.reload.shipments.any?(&:shipped?)).to be true expect_order diff --git a/spec/controllers/cart_controller_spec.rb b/spec/controllers/cart_controller_spec.rb index 83cbee70e5..585c96a37e 100644 --- a/spec/controllers/cart_controller_spec.rb +++ b/spec/controllers/cart_controller_spec.rb @@ -17,7 +17,7 @@ describe CartController, type: :controller do allow(cart_service).to receive(:populate) { true } allow(cart_service).to receive(:valid?) { true } allow(cart_service).to receive(:variants_h) { {} } - post :populate, xhr: true, params: { use_route: :spree, format: :json } + post :populate, xhr: true, params: { use_route: :spree }, as: :json expect(response.status).to eq(200) end @@ -26,7 +26,7 @@ describe CartController, type: :controller do allow(cart_service).to receive(:valid?) { false } allow(cart_service).to receive(:errors) { errors } allow(errors).to receive(:full_messages).and_return(["Error: foo"]) - post :populate, xhr: true, params: { use_route: :spree, format: :json } + post :populate, xhr: true, params: { use_route: :spree }, as: :json expect(response.status).to eq(412) end @@ -34,7 +34,7 @@ describe CartController, type: :controller do allow(cart_service).to receive(:variants_h) { {} } allow(cart_service).to receive(:valid?) { true } expect(cart_service).to receive(:populate).with({}, true) - post :populate, xhr: true, params: { use_route: :spree, format: :json } + post :populate, xhr: true, params: { use_route: :spree }, as: :json end it "returns stock levels as JSON on success" do @@ -44,7 +44,7 @@ describe CartController, type: :controller do allow(cart_service).to receive(:valid?) { true } allow(cart_service).to receive(:variants_h) { {} } - post :populate, xhr: true, params: { use_route: :spree, format: :json } + post :populate, xhr: true, params: { use_route: :spree }, as: :json data = JSON.parse(response.body) expect(data['stock_levels']).to eq('my_stock_levels') diff --git a/spec/controllers/enterprises_controller_spec.rb b/spec/controllers/enterprises_controller_spec.rb index 1170b7de6e..1328c04d73 100644 --- a/spec/controllers/enterprises_controller_spec.rb +++ b/spec/controllers/enterprises_controller_spec.rb @@ -150,16 +150,16 @@ describe EnterprisesController, type: :controller do # let(:enterprise) { create(:enterprise, permalink: 'enterprise_permalink') } it "responds with status of 200 when the route does not exist" do - get :check_permalink, xhr: true, params: { permalink: 'some_nonexistent_route', format: :js } + get :check_permalink, xhr: true, params: { permalink: 'some_nonexistent_route' }, as: :js expect(response.status).to be 200 end it "responds with status of 409 when the permalink matches an existing route" do # get :check_permalink, { permalink: 'enterprise_permalink', format: :js } # expect(response.status).to be 409 - get :check_permalink, xhr: true, params: { permalink: 'map', format: :js } + get :check_permalink, xhr: true, params: { permalink: 'map' }, as: :js expect(response.status).to be 409 - get :check_permalink, xhr: true, params: { permalink: '', format: :js } + get :check_permalink, xhr: true, params: { permalink: '' }, as: :js expect(response.status).to be 409 end end From b14646ff501b96ddd73e995a3589a64e154fbe86 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Tue, 23 Mar 2021 21:48:52 +0000 Subject: [PATCH 2/4] Fix rspec syntax in checkout controller --- spec/controllers/checkout_controller_spec.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/controllers/checkout_controller_spec.rb b/spec/controllers/checkout_controller_spec.rb index 933348dfd7..56129a6119 100644 --- a/spec/controllers/checkout_controller_spec.rb +++ b/spec/controllers/checkout_controller_spec.rb @@ -108,7 +108,7 @@ describe CheckoutController, type: :controller do end it "completes the order and redirects to the order confirmation page" do - get :edit, { payment_intent: "pi_123" } + get :edit, params: { payment_intent: "pi_123" } expect(order.completed?).to be true expect(response).to redirect_to order_path(order) end @@ -189,12 +189,12 @@ describe CheckoutController, type: :controller do it 'expires the current order' do allow(controller).to receive(:expire_current_order) - put :update, order: {} + put :update, params: { order: {} } expect(controller).to have_received(:expire_current_order) end it 'sets the access_token of the session' do - put :update, order: {} + put :update, params: { order: {} } expect(session[:access_token]).to eq(controller.current_order.token) end end From 554905432566c2b7c4a91abcf4011cf1e6d18ebe Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Tue, 23 Mar 2021 21:55:58 +0000 Subject: [PATCH 3/4] Fix rspec syntax in line items controller --- spec/controllers/line_items_controller_spec.rb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/spec/controllers/line_items_controller_spec.rb b/spec/controllers/line_items_controller_spec.rb index ce91ad74df..c7e169f9ff 100644 --- a/spec/controllers/line_items_controller_spec.rb +++ b/spec/controllers/line_items_controller_spec.rb @@ -48,7 +48,7 @@ describe LineItemsController, type: :controller do context "where the item's order is not associated with the user" do it "denies deletion" do - delete :destroy, params + delete :destroy, params: params expect(response.status).to eq 403 end end @@ -61,7 +61,7 @@ describe LineItemsController, type: :controller do context "without an order cycle or distributor" do it "denies deletion" do - delete :destroy, params + delete :destroy, params: params expect(response.status).to eq 403 end end @@ -71,7 +71,7 @@ describe LineItemsController, type: :controller do context "where changes are not allowed" do it "denies deletion" do - delete :destroy, params + delete :destroy, params: params expect(response.status).to eq 403 end end @@ -80,7 +80,7 @@ describe LineItemsController, type: :controller do before { distributor.update_attributes!(allow_order_changes: true) } it "deletes the line item" do - delete :destroy, params + delete :destroy, params: params expect(response.status).to eq 204 expect { item.reload }.to raise_error ActiveRecord::RecordNotFound end @@ -91,7 +91,7 @@ describe LineItemsController, type: :controller do it 'updates the payment state' do expect(order.payment_state).to eq 'paid' - delete :destroy, params + delete :destroy, params: params order.reload expect(order.payment_state).to eq 'credit_owed' end @@ -123,8 +123,7 @@ describe LineItemsController, type: :controller do # Delete the item item = order.line_items.first allow(controller).to receive_messages spree_current_user: order.user - request = { format: :json, id: item } - delete :destroy, request + delete :destroy, format: :json, params: { id: item } expect(response.status).to eq 204 # Check the fees again @@ -160,7 +159,7 @@ describe LineItemsController, type: :controller do expect(order.reload.adjustment_total).to eq calculator.preferred_discount_amount allow(controller).to receive_messages spree_current_user: user - delete :destroy, params + delete :destroy, params: params expect(response.status).to eq 204 expect(order.reload.adjustment_total).to eq calculator.preferred_normal_amount From e2df8937e5dd212bfe57bbd6737b81341486737f Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Tue, 23 Mar 2021 22:00:50 +0000 Subject: [PATCH 4/4] Fix rspec syntax in bulk items controller --- .../admin/bulk_line_items_controller_spec.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/spec/controllers/admin/bulk_line_items_controller_spec.rb b/spec/controllers/admin/bulk_line_items_controller_spec.rb index cdc1d8c0cc..a0e2a210f3 100644 --- a/spec/controllers/admin/bulk_line_items_controller_spec.rb +++ b/spec/controllers/admin/bulk_line_items_controller_spec.rb @@ -56,7 +56,7 @@ describe Admin::BulkLineItemsController, type: :controller do context "when ransack params are passed in for line items" do before do - get :index, format: :json, q: { order_id_eq: order2.id } + get :index, as: :json, params: { q: { order_id_eq: order2.id } } end it "retrives a list of line items which match the criteria" do @@ -66,7 +66,7 @@ describe Admin::BulkLineItemsController, type: :controller do context "when ransack params are passed in for orders" do before do - get :index, format: :json, q: { order: { completed_at_gt: 2.hours.ago } } + get :index, as: :json, params: { q: { order: { completed_at_gt: 2.hours.ago } } } end it "retrives a list of line items whose orders match the criteria" do @@ -90,7 +90,7 @@ describe Admin::BulkLineItemsController, type: :controller do context "producer enterprise" do before do allow(controller).to receive_messages spree_current_user: supplier.owner - get :index, format: :json + get :index, as: :json end it "does not display line items for which my enterprise is a supplier" do @@ -101,7 +101,7 @@ describe Admin::BulkLineItemsController, type: :controller do context "coordinator enterprise" do before do allow(controller).to receive_messages spree_current_user: coordinator.owner - get :index, format: :json + get :index, as: :json end it "retrieves a list of line_items" do @@ -113,7 +113,7 @@ describe Admin::BulkLineItemsController, type: :controller do context "hub enterprise" do before do allow(controller).to receive_messages spree_current_user: distributor1.owner - get :index, format: :json + get :index, as: :json end it "retrieves a list of line_items" do @@ -130,7 +130,7 @@ describe Admin::BulkLineItemsController, type: :controller do context "with pagination args" do it "returns paginated results" do - get :index, { page: 1, per_page: 2 }, format: :json + get :index, params: { page: 1, per_page: 2 }, as: :json expect(line_item_ids).to eq [line_item1.id, line_item2.id] expect(json_response['pagination']).to eq( @@ -139,7 +139,7 @@ describe Admin::BulkLineItemsController, type: :controller do end it "returns paginated results for a second page" do - get :index, { page: 2, per_page: 2 }, format: :json + get :index, params: { page: 2, per_page: 2 }, as: :json expect(line_item_ids).to eq [line_item3.id, line_item4.id] expect(json_response['pagination']).to eq(