diff --git a/Gemfile b/Gemfile index 3d74bd0bd0..8afdfa339b 100644 --- a/Gemfile +++ b/Gemfile @@ -132,7 +132,7 @@ group :test, :development do gem 'bullet' gem 'capybara' gem 'database_cleaner', require: false - gem "factory_bot_rails", '6.1.0', require: false + gem "factory_bot_rails", '6.2.0', require: false gem 'fuubar', '~> 2.5.1' gem 'json_spec', '~> 1.1.4' gem 'knapsack' diff --git a/Gemfile.lock b/Gemfile.lock index 0eb8d847a1..0e765dc67f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -223,10 +223,10 @@ GEM eventmachine (1.2.7) excon (0.79.0) execjs (2.7.0) - factory_bot (6.1.0) + factory_bot (6.2.0) activesupport (>= 5.0.0) - factory_bot_rails (6.1.0) - factory_bot (~> 6.1.0) + factory_bot_rails (6.2.0) + factory_bot (~> 6.2.0) railties (>= 5.0.0) faraday (1.3.0) faraday-net_http (~> 1.0) @@ -657,7 +657,7 @@ DEPENDENCIES devise-token_authenticatable dfc_provider! eventmachine (>= 1.2.3) - factory_bot_rails (= 6.1.0) + factory_bot_rails (= 6.2.0) ffaker figaro flipper diff --git a/app/services/permissions/order.rb b/app/services/permissions/order.rb index 8dbbca41be..a0c084cf8e 100644 --- a/app/services/permissions/order.rb +++ b/app/services/permissions/order.rb @@ -44,7 +44,7 @@ module Permissions def filtered_orders(orders) return orders unless filter_orders? - orders.complete.not_state(:canceled).search(search_params).result + orders.complete.not_state(:canceled).ransack(search_params).result end def filter_orders? diff --git a/app/views/shared/_stripe_js.html.haml b/app/views/shared/_stripe_js.html.haml index 8fbeec8aa1..1ce1cd99e4 100644 --- a/app/views/shared/_stripe_js.html.haml +++ b/app/views/shared/_stripe_js.html.haml @@ -1,5 +1,5 @@ - if Rails.env.test? %script{type: "text/javascript"} - = render file: "spec/support/fixtures/stripejs-mock.js" + = raw render file: "spec/support/fixtures/stripejs-mock.js" - else %script{src: "https://js.stripe.com/v3/", type: "text/javascript"} diff --git a/config/locales/ca.yml b/config/locales/ca.yml index af1764c313..b22d9364c6 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -317,6 +317,8 @@ ca: height: "Alçada" width: "Amplada" depth: "Profunditat" + payment_could_not_process: "No s'ha pogut processar el pagament" + payment_could_not_complete: "No s'ha pogut completar el pagament" actions: create_and_add_another: "Crea i afegeix-ne una altra" create: "Crear" diff --git a/config/locales/de_DE.yml b/config/locales/de_DE.yml index 0bff7a2fed..3499a2a789 100644 --- a/config/locales/de_DE.yml +++ b/config/locales/de_DE.yml @@ -317,6 +317,8 @@ de_DE: height: "Höhe" width: "Breite" depth: "Tiefe" + payment_could_not_process: "Die Zahlung konnte nicht verarbeitet werden" + payment_could_not_complete: "Die Zahlung konnte nicht abgeschlossen werden" actions: create_and_add_another: "Erstellen und weitere hinzufügen" create: "Neu" diff --git a/config/locales/en_FR.yml b/config/locales/en_FR.yml index 1ce691c004..3a276ccb8e 100644 --- a/config/locales/en_FR.yml +++ b/config/locales/en_FR.yml @@ -317,6 +317,8 @@ en_FR: height: "Height" width: "Width" depth: "Depth" + payment_could_not_process: "The payment could not be processed" + payment_could_not_complete: "The payment could not be completed" actions: create_and_add_another: "Create and Add Another" create: "Create" diff --git a/config/locales/es.yml b/config/locales/es.yml index c1dee6d1a1..67a326f52c 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -317,6 +317,8 @@ es: height: "Altura" width: "Anchura" depth: "Profundidad" + payment_could_not_process: "No se pudo procesar el pago" + payment_could_not_complete: "No se pudo completar el pago" actions: create_and_add_another: "Crear y agregar otro" create: "Crear" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index aaec0cc7c3..6f3178431f 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -317,6 +317,8 @@ fr: height: "Hauteur" width: "Largeur" depth: "Profondeur" + payment_could_not_process: "Le paiement n'a pas pu être traité" + payment_could_not_complete: "Le paiement n'a pas pu être finalisé" actions: create_and_add_another: "Créer et ajouter nouveau" create: "Créer" diff --git a/config/routes.rb b/config/routes.rb index 22e0db432a..f51948f6aa 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -93,8 +93,10 @@ Openfoodnetwork::Application.routes.draw do get 'sitemap.xml', to: 'sitemap#index', defaults: { format: 'xml' } - # Mount DFC API endpoints - mount DfcProvider::Engine, at: '/' + unless Rails.env.production? + # Mount DFC API endpoints + mount DfcProvider::Engine, at: '/' + end # Mount Spree's routes mount Spree::Core::Engine, :at => '/' diff --git a/engines/order_management/spec/controllers/order_management/reports/bulk_coop_controller_spec.rb b/engines/order_management/spec/controllers/order_management/reports/bulk_coop_controller_spec.rb index cc8552dc46..aa046a52f3 100644 --- a/engines/order_management/spec/controllers/order_management/reports/bulk_coop_controller_spec.rb +++ b/engines/order_management/spec/controllers/order_management/reports/bulk_coop_controller_spec.rb @@ -17,7 +17,7 @@ describe OrderManagement::Reports::BulkCoopController, type: :controller do it "renders the report form" do get :new - expect(response).to be_success + expect(response.status).to eq 200 expect(response).to render_template(new_template_path) end end @@ -32,7 +32,7 @@ describe OrderManagement::Reports::BulkCoopController, type: :controller do }, report_format: "csv" } - expect(response).to be_success + expect(response.status).to eq 200 expect(response.body).not_to be_blank expect(response.header["Content-Type"]).to eq("text/csv") end diff --git a/engines/order_management/spec/controllers/order_management/reports/enterprise_fee_summaries_controller_spec.rb b/engines/order_management/spec/controllers/order_management/reports/enterprise_fee_summaries_controller_spec.rb index 5008cd65d2..62897da6cc 100644 --- a/engines/order_management/spec/controllers/order_management/reports/enterprise_fee_summaries_controller_spec.rb +++ b/engines/order_management/spec/controllers/order_management/reports/enterprise_fee_summaries_controller_spec.rb @@ -17,7 +17,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummariesController, type: :cont it "renders the report form" do get :new - expect(response).to be_success + expect(response.status).to eq 200 expect(response).to render_template(new_template_path) end end @@ -29,7 +29,7 @@ describe OrderManagement::Reports::EnterpriseFeeSummariesController, type: :cont report: { start_at: "2018-10-09 07:30:00" }, report_format: "csv" } - expect(response).to be_success + expect(response.status).to eq 200 expect(response.body).not_to be_blank expect(response.header["Content-Type"]).to eq("text/csv") end diff --git a/lib/open_food_network/order_and_distributor_report.rb b/lib/open_food_network/order_and_distributor_report.rb index 1bf78bb067..a82f300873 100644 --- a/lib/open_food_network/order_and_distributor_report.rb +++ b/lib/open_food_network/order_and_distributor_report.rb @@ -36,7 +36,7 @@ module OpenFoodNetwork def search @permissions.visible_orders.select("DISTINCT spree_orders.*"). complete.not_state(:canceled). - search(@params[:q]) + ransack(@params[:q]) end def table diff --git a/lib/open_food_network/order_cycle_management_report.rb b/lib/open_food_network/order_cycle_management_report.rb index c8b71f242a..6344a5d538 100644 --- a/lib/open_food_network/order_cycle_management_report.rb +++ b/lib/open_food_network/order_cycle_management_report.rb @@ -51,7 +51,7 @@ module OpenFoodNetwork not_state(:canceled). distributed_by_user(@user). managed_by(@user). - search(params[:q]) + ransack(params[:q]) end def orders diff --git a/lib/open_food_network/payments_report.rb b/lib/open_food_network/payments_report.rb index 804bb58b45..2d0d2d8be5 100644 --- a/lib/open_food_network/payments_report.rb +++ b/lib/open_food_network/payments_report.rb @@ -36,7 +36,7 @@ module OpenFoodNetwork end def search - Spree::Order.complete.not_state(:canceled).managed_by(@user).search(params[:q]) + Spree::Order.complete.not_state(:canceled).managed_by(@user).ransack(params[:q]) end def table_items diff --git a/lib/open_food_network/reports/line_items.rb b/lib/open_food_network/reports/line_items.rb index 88841001dd..3fcc904246 100644 --- a/lib/open_food_network/reports/line_items.rb +++ b/lib/open_food_network/reports/line_items.rb @@ -38,7 +38,7 @@ module OpenFoodNetwork attr_reader :orders_relation, :order_permissions def search_orders - orders_relation.search(@params[:q]) + orders_relation.ransack(@params[:q]) end # From the line_items given, returns the ones that are editable by the user diff --git a/lib/open_food_network/xero_invoices_report.rb b/lib/open_food_network/xero_invoices_report.rb index fbb6f8fd4f..93b7dbb4e2 100644 --- a/lib/open_food_network/xero_invoices_report.rb +++ b/lib/open_food_network/xero_invoices_report.rb @@ -20,7 +20,7 @@ module OpenFoodNetwork def search permissions = ::Permissions::Order.new(@user) - permissions.editable_orders.complete.not_state(:canceled).search(@opts[:q]) + permissions.editable_orders.complete.not_state(:canceled).ransack(@opts[:q]) end def orders diff --git a/spec/controllers/api/v0/enterprises_controller_spec.rb b/spec/controllers/api/v0/enterprises_controller_spec.rb index 834eb42b1c..cff8140784 100644 --- a/spec/controllers/api/v0/enterprises_controller_spec.rb +++ b/spec/controllers/api/v0/enterprises_controller_spec.rb @@ -31,7 +31,7 @@ describe Api::V0::EnterprisesController, type: :controller do it "creates as sells=any when it is not a producer" do api_post :create, { enterprise: new_enterprise_params } - expect(response).to be_success + expect(response.status).to eq 201 enterprise = Enterprise.last expect(enterprise.sells).to eq('any') @@ -44,7 +44,7 @@ describe Api::V0::EnterprisesController, type: :controller do enterprise: new_enterprise_params. merge({ user_ids: [enterprise_owner.id, manager1.id, manager2.id] }) } - expect(response).to be_success + expect(response.status).to eq 201 enterprise = Enterprise.last expect(enterprise.user_ids).to match_array([enterprise_owner.id, manager1.id, manager2.id]) @@ -83,7 +83,7 @@ describe Api::V0::EnterprisesController, type: :controller do it "I can update enterprise image" do api_post :update_image, logo: 'a logo', id: enterprise.id - expect(response).to be_success + expect(response.status).to eq 200 end end end diff --git a/spec/controllers/api/v0/logos_controller_spec.rb b/spec/controllers/api/v0/logos_controller_spec.rb index 32815be1c4..98571ae9d2 100644 --- a/spec/controllers/api/v0/logos_controller_spec.rb +++ b/spec/controllers/api/v0/logos_controller_spec.rb @@ -30,7 +30,7 @@ module Api it "removes logo" do spree_delete :destroy, enterprise_id: enterprise - expect(response).to be_success + expect(response.status).to eq 200 expect(json_response["id"]).to eq enterprise.id enterprise.reload expect(enterprise.logo?).to be false @@ -53,7 +53,7 @@ module Api it "allows removal of logo" do spree_delete :destroy, enterprise_id: enterprise - expect(response).to be_success + expect(response.status).to eq 200 end end @@ -62,7 +62,7 @@ module Api it "allows removal of logo" do spree_delete :destroy, enterprise_id: enterprise - expect(response).to be_success + expect(response.status).to eq 200 end end diff --git a/spec/controllers/api/v0/products_controller_spec.rb b/spec/controllers/api/v0/products_controller_spec.rb index 8af0985e48..e55152cd19 100644 --- a/spec/controllers/api/v0/products_controller_spec.rb +++ b/spec/controllers/api/v0/products_controller_spec.rb @@ -164,6 +164,7 @@ describe Api::V0::ProductsController, type: :controller do context 'as an enterprise user' do let(:current_api_user) { supplier_enterprise_user(supplier) } + let!(:variant) { create(:variant, product_id: product.id) } it 'responds with a successful response' do spree_post :clone, product_id: product.id, format: :json @@ -183,6 +184,27 @@ describe Api::V0::ProductsController, type: :controller do expect(response.status).to eq(201) expect(json_response['name']).to eq("COPY OF #{product_with_image.name}") end + + # test cases related to bug #660: product duplication clones master variant + + # stock info - clone is set to zero + it '(does not) clone the stock info of the product' do + spree_post :clone, product_id: product.id, format: :json + expect(json_response['on_hand']).to eq(0) + end + + # variants: only the master variant of the product is cloned + it '(does not) clone variants from a product with several variants' do + spree_post :clone, product_id: product.id, format: :json + expect(Spree::Product.second.variants.count).not_to eq Spree::Product.first.variants.count + end + + #price info: it does not consider price changes; it considers the price set upon product creation + it '(does not) clone price which was updated' do + product.update_attribute(:price, 2.22) + spree_post :clone, product_id: product.id, format: :json + expect(json_response['price']).not_to eq(2.22) + end end context 'as an administrator' do diff --git a/spec/controllers/api/v0/promo_images_controller_spec.rb b/spec/controllers/api/v0/promo_images_controller_spec.rb index 6c8d0f1319..6754397637 100644 --- a/spec/controllers/api/v0/promo_images_controller_spec.rb +++ b/spec/controllers/api/v0/promo_images_controller_spec.rb @@ -30,7 +30,7 @@ module Api it "removes promo image" do spree_delete :destroy, enterprise_id: enterprise - expect(response).to be_success + expect(response.status).to eq 200 expect(json_response["id"]).to eq enterprise.id enterprise.reload expect(enterprise.promo_image?).to be false @@ -53,7 +53,7 @@ module Api it "allows removal of promo image" do spree_delete :destroy, enterprise_id: enterprise - expect(response).to be_success + expect(response.status).to eq 200 end end @@ -62,7 +62,7 @@ module Api it "allows removal of promo image" do spree_delete :destroy, enterprise_id: enterprise - expect(response).to be_success + expect(response.status).to eq 200 end end diff --git a/spec/controllers/api/v0/statuses_controller_spec.rb b/spec/controllers/api/v0/statuses_controller_spec.rb index e79dca33a3..32ef605a51 100644 --- a/spec/controllers/api/v0/statuses_controller_spec.rb +++ b/spec/controllers/api/v0/statuses_controller_spec.rb @@ -10,21 +10,21 @@ module Api it "returns alive when up to date" do Spree::Config.last_job_queue_heartbeat_at = Time.now.in_time_zone get :job_queue - expect(response).to be_success + expect(response.status).to eq 200 expect(response.body).to eq({ alive: true }.to_json) end it "returns dead otherwise" do Spree::Config.last_job_queue_heartbeat_at = 10.minutes.ago get :job_queue - expect(response).to be_success + expect(response.status).to eq 200 expect(response.body).to eq({ alive: false }.to_json) end it "returns dead when no heartbeat recorded" do Spree::Config.last_job_queue_heartbeat_at = nil get :job_queue - expect(response).to be_success + expect(response.status).to eq 200 expect(response.body).to eq({ alive: false }.to_json) end end diff --git a/spec/controllers/api/v0/terms_and_conditions_controller_spec.rb b/spec/controllers/api/v0/terms_and_conditions_controller_spec.rb index 68439f74cf..8269683cba 100644 --- a/spec/controllers/api/v0/terms_and_conditions_controller_spec.rb +++ b/spec/controllers/api/v0/terms_and_conditions_controller_spec.rb @@ -26,7 +26,7 @@ module Api it "removes terms and conditions file" do spree_delete :destroy, enterprise_id: enterprise - expect(response).to be_success + expect(response.status).to eq 200 expect(json_response["id"]).to eq enterprise.id enterprise.reload expect(enterprise.terms_and_conditions?).to be false diff --git a/spec/controllers/checkout_controller_spec.rb b/spec/controllers/checkout_controller_spec.rb index f743d6c092..9d1620c284 100644 --- a/spec/controllers/checkout_controller_spec.rb +++ b/spec/controllers/checkout_controller_spec.rb @@ -118,7 +118,7 @@ describe CheckoutController, type: :controller do it "does not redirect" do get :edit - expect(response).to be_success + expect(response.status).to eq 200 end it "returns a specific flash message when Spree::Core::GatewayError occurs" do diff --git a/spec/controllers/shop_controller_spec.rb b/spec/controllers/shop_controller_spec.rb index 6988be63a9..c1245a736b 100644 --- a/spec/controllers/shop_controller_spec.rb +++ b/spec/controllers/shop_controller_spec.rb @@ -36,7 +36,7 @@ describe ShopController, type: :controller do oc2 = create(:simple_order_cycle, distributors: [distributor]) spree_post :order_cycle, order_cycle_id: oc2.id - expect(response).to be_success + expect(response.status).to eq 200 expect(controller.current_order_cycle).to eq(oc2) end @@ -48,7 +48,7 @@ describe ShopController, type: :controller do oc2 = create(:simple_order_cycle, distributors: [distributor]) spree_post :order_cycle, order_cycle_id: oc2.id - expect(response).to be_success + expect(response.status).to eq 200 expect(response.body).to have_content oc2.id end @@ -68,7 +68,7 @@ describe ShopController, type: :controller do it "returns the new order cycle details" do spree_post :order_cycle, order_cycle_id: oc2.id - expect(response).to be_success + expect(response.status).to eq 200 expect(response.body).to have_content oc2.id end end diff --git a/spec/controllers/spree/orders_controller_spec.rb b/spec/controllers/spree/orders_controller_spec.rb index 6e1ecd11e5..412b706cf5 100644 --- a/spec/controllers/spree/orders_controller_spec.rb +++ b/spec/controllers/spree/orders_controller_spec.rb @@ -24,7 +24,7 @@ describe Spree::OrdersController, type: :controller do it "loads page" do get :show, params: { id: order.number, token: order.token } - expect(response).to be_success + expect(response.status).to eq 200 end it "stores order token in session as 'access_token'" do @@ -43,7 +43,7 @@ describe Spree::OrdersController, type: :controller do it "loads page" do get :show, params: { id: order.number } - expect(response).to be_success + expect(response.status).to eq 200 end end @@ -52,7 +52,7 @@ describe Spree::OrdersController, type: :controller do it "loads page" do get :show, params: { id: order.number } - expect(response).to be_success + expect(response.status).to eq 200 end end @@ -113,7 +113,7 @@ describe Spree::OrdersController, type: :controller do it "completes the payment" do get :show, params: { id: order.number, payment_intent: payment_intent } - expect(response).to be_success + expect(response.status).to eq 200 payment.reload expect(payment.cvv_response_message).to be nil expect(payment.state).to eq("completed") @@ -158,7 +158,7 @@ describe Spree::OrdersController, type: :controller do it "does not complete the payment" do get :show, params: { id: order.number, payment_intent: payment_intent } - expect(response).to be_success + expect(response.status).to eq 200 expect(flash[:error]).to eq("#{I18n.t("payment_could_not_process")}. ") payment.reload expect(payment.cvv_response_message).to eq("https://stripe.com/redirect") diff --git a/spec/controllers/user_passwords_controller_spec.rb b/spec/controllers/user_passwords_controller_spec.rb index f66c7d1bf8..78339dd0c6 100644 --- a/spec/controllers/user_passwords_controller_spec.rb +++ b/spec/controllers/user_passwords_controller_spec.rb @@ -15,7 +15,7 @@ describe UserPasswordsController, type: :controller do describe "create" do it "returns errors" do spree_post :create, spree_user: {} - expect(response).to be_success + expect(response.status).to eq 200 expect(response).to render_template "spree/user_passwords/new" end diff --git a/spec/features/admin/products_spec.rb b/spec/features/admin/products_spec.rb index 9e4544f657..080fd74702 100644 --- a/spec/features/admin/products_spec.rb +++ b/spec/features/admin/products_spec.rb @@ -114,6 +114,70 @@ feature ' expect(page).to have_content "Unit value can't be blank" end end + + describe "deleting", js: true do + let!(:product1) { create(:simple_product, name: 'a product to keep', supplier: @supplier) } + + context 'a simple product' do + let!(:product2) { create(:simple_product, name: 'a product to delete', supplier: @supplier) } + + before do + login_as_admin_and_visit spree.admin_products_path + + within "#p_#{product2.id}" do + accept_alert { page.find("[data-powertip=Remove]").click } + end + visit current_path + end + + it 'removes it from the product list' do + expect(page).not_to have_selector "#p_#{product2.id}" + expect(page).to have_selector "#p_#{product1.id}" + end + end + + context 'a shipped product' do + let!(:order) { create(:shipped_order, line_items_count: 1) } + let!(:line_item) { order.reload.line_items.first } + + before do + login_as_admin_and_visit spree.admin_products_path + + within "#p_#{order.variants.first.product_id}" do + accept_alert { page.find("[data-powertip=Remove]").click } + end + visit current_path + end + it 'removes it from the product list' do + expect(page).to have_selector "#p_#{product1.id}" + expect(page).not_to have_selector "#p_#{order.variants.first.product_id}" + end + + it 'keeps the line item on the order (admin)' do + visit spree.admin_orders_path + find(".icon-edit").click + expect(page).to have_content(line_item.product.name.to_s) + end + end + end + + describe 'cloning' do + let!(:product1) { create(:simple_product, name: 'a weight product', supplier: @supplier, variant_unit: "weight") } + + context 'products', js: true do + before { login_as_admin_and_visit spree.admin_products_path } + + it 'creates a copy of the product' do + within "#p_#{product1.id}" do + page.find("[data-powertip=Clone]").click + end + visit current_path + within "#p_#{product1.id + 1}" do + expect(page).to have_input "product_name", with: 'COPY OF a weight product' + end + end + end + end context "as an enterprise user" do let!(:tax_category) { create(:tax_category) } diff --git a/spec/features/admin/variant_overrides_spec.rb b/spec/features/admin/variant_overrides_spec.rb index 309bdca9e8..6322af44b3 100644 --- a/spec/features/admin/variant_overrides_spec.rb +++ b/spec/features/admin/variant_overrides_spec.rb @@ -192,7 +192,7 @@ feature " end end - xit "displays an error when unauthorised to access the page" do + it "displays an error when unauthorised to access the page" do fill_in "variant-overrides-#{variant.id}-price", with: '777.77' fill_in "variant-overrides-#{variant.id}-count_on_hand", with: '123' expect(page).to have_content "Changes to one override remain unsaved." @@ -209,7 +209,7 @@ feature " end.to change(VariantOverride, :count).by(0) end - xit "displays an error when unauthorised to update a particular override" do + it "displays an error when unauthorised to update a particular override" do fill_in "variant-overrides-#{variant_related.id}-price", with: '777.77' fill_in "variant-overrides-#{variant_related.id}-count_on_hand", with: '123' expect(page).to have_content "Changes to one override remain unsaved." diff --git a/spec/models/enterprise_spec.rb b/spec/models/enterprise_spec.rb index dc93d86b6f..b4bfc76c0e 100644 --- a/spec/models/enterprise_spec.rb +++ b/spec/models/enterprise_spec.rb @@ -195,7 +195,7 @@ describe Enterprise do e2 = create(:enterprise, permalink: "not_taken") e2.permalink = "taken" e2.save - expect(e2.permalink).to eq "not_taken" + expect(e2.reload.permalink).to eq "not_taken" end end diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index eeee3baf17..20bd80cdfc 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -1141,12 +1141,8 @@ describe Spree::Order do end context "when finalized fee adjustments exist on the order" do - let(:payment_fee_adjustment) { order.all_adjustments.payment_fee.first } - let(:shipping_fee_adjustment) { order.shipment_adjustments.first } - before do - payment_fee_adjustment.finalize! - shipping_fee_adjustment.finalize! + order.all_adjustments.each(&:finalize!) order.reload end @@ -1155,6 +1151,7 @@ describe Spree::Order do # Check if fees got updated order.reload + expect(order.adjustment_total).to eq expected_fees expect(order.shipment.adjustments.tax.inclusive.sum(:amount)).to eq 1.2 expect(order.shipment.included_tax_total).to eq 1.2 diff --git a/spec/performance/shop_controller_spec.rb b/spec/performance/shop_controller_spec.rb index ba116dbc66..8af430358e 100644 --- a/spec/performance/shop_controller_spec.rb +++ b/spec/performance/shop_controller_spec.rb @@ -38,7 +38,7 @@ describe ShopController, type: :controller, performance: true do it "returns products via json" do results = multi_benchmark(3, cache_key_patterns: cache_key_patterns) do get :products, xhr: true - expect(response).to be_success + expect(response.status).to eq 200 end end end