From 81385b63c79046c9d9708f054fed71346fec84b1 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Tue, 27 Apr 2021 15:27:16 +0200 Subject: [PATCH 01/15] Uncomment (not so) flaky spec --- spec/features/admin/variant_overrides_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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." From 19768e1398791795885fe1229ef33093d8bcc909 Mon Sep 17 00:00:00 2001 From: filipefurtad0 Date: Mon, 12 Apr 2021 20:49:39 +0100 Subject: [PATCH 02/15] adds coverage for product deletion and cloning --- spec/features/admin/products_spec.rb | 76 ++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/spec/features/admin/products_spec.rb b/spec/features/admin/products_spec.rb index 9e4544f657..787d99649d 100644 --- a/spec/features/admin/products_spec.rb +++ b/spec/features/admin/products_spec.rb @@ -114,6 +114,82 @@ feature ' expect(page).to have_content "Unit value can't be blank" end end + + describe "soft-deleting" do + let!(:product1) { create(:simple_product, name: 'a product to keep', supplier: @supplier) } + + context 'a simple product', js: true 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 "tr#p_#{product2.id}" do + accept_alert { page.find("[data-powertip=Remove]").click } + end + end + + it 'removes it from the product list' do + expect(page).not_to have_selector "tr#p_#{product2.id}" + expect(page).to have_selector "tr#p_#{product1.id}" + end + end + + context 'a shipped product', js: true 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 "tr#p_#{order.variants.first.product_id}" do + accept_alert { page.find("[data-powertip=Remove]").click } + end + end + + it 'removes it from the product list' do + expect(page).to have_selector "tr#p_#{product1.id}" + expect(page).not_to have_selector "tr#p_#{order.variants.first.product_id}" + expect(Spree::Product.count).to eq 1 + expect(order.line_items.count).to eq 1 + 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") } + let!(:variant1) { create(:variant, product_id: product1.id, display_name: 'kg oranges') } + + context 'products', js: true do + before { login_as_admin_and_visit spree.admin_products_path } + + it 'creates a copy of the product' do + within "tr#p_#{product1.id}" do + page.find("[data-powertip=Clone]").click + end + expect(page).to have_selector "tr#p_#{variant1.product_id}" + + within "tr#p_#{product1.id + 1}" do + expect(page).to have_input "product_name", with: 'COPY OF a weight product' + end + + # bug #660 + # only the first variant is duplicated + expect(Spree::Product.second.variants.count).to eq 1 + # TODO expect(Spree::Product.second.variants.count).to eq Spree::Product.first.variants.count + + # the stock of the cloned product is always zero + expect(Spree::Product.second.on_hand).to eq 0 + # TODO expect(Spree::Product.second.on_hand).to eq Spree::Product.first.on_hand + end + end + end context "as an enterprise user" do let!(:tax_category) { create(:tax_category) } From a476416dc4ad8c693a235a7eb964c93e482b1ced Mon Sep 17 00:00:00 2001 From: filipefurtad0 Date: Fri, 23 Apr 2021 14:38:59 +0100 Subject: [PATCH 03/15] Removes html tr tag; Clarifies it block --- .../api/v0/products_controller_spec.rb | 22 ++++++++++ spec/features/admin/products_spec.rb | 40 +++++++------------ 2 files changed, 36 insertions(+), 26 deletions(-) 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/features/admin/products_spec.rb b/spec/features/admin/products_spec.rb index 787d99649d..080fd74702 100644 --- a/spec/features/admin/products_spec.rb +++ b/spec/features/admin/products_spec.rb @@ -115,43 +115,42 @@ feature ' end end - describe "soft-deleting" do + describe "deleting", js: true do let!(:product1) { create(:simple_product, name: 'a product to keep', supplier: @supplier) } - context 'a simple product', js: true do + 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 "tr#p_#{product2.id}" do + 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 "tr#p_#{product2.id}" - expect(page).to have_selector "tr#p_#{product1.id}" + expect(page).not_to have_selector "#p_#{product2.id}" + expect(page).to have_selector "#p_#{product1.id}" end end - context 'a shipped product', js: true do + 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 "tr#p_#{order.variants.first.product_id}" do + 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 "tr#p_#{product1.id}" - expect(page).not_to have_selector "tr#p_#{order.variants.first.product_id}" - expect(Spree::Product.count).to eq 1 - expect(order.line_items.count).to eq 1 + 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 @@ -164,29 +163,18 @@ feature ' describe 'cloning' do let!(:product1) { create(:simple_product, name: 'a weight product', supplier: @supplier, variant_unit: "weight") } - let!(:variant1) { create(:variant, product_id: product1.id, display_name: 'kg oranges') } context 'products', js: true do before { login_as_admin_and_visit spree.admin_products_path } it 'creates a copy of the product' do - within "tr#p_#{product1.id}" do + within "#p_#{product1.id}" do page.find("[data-powertip=Clone]").click end - expect(page).to have_selector "tr#p_#{variant1.product_id}" - - within "tr#p_#{product1.id + 1}" do + visit current_path + within "#p_#{product1.id + 1}" do expect(page).to have_input "product_name", with: 'COPY OF a weight product' end - - # bug #660 - # only the first variant is duplicated - expect(Spree::Product.second.variants.count).to eq 1 - # TODO expect(Spree::Product.second.variants.count).to eq Spree::Product.first.variants.count - - # the stock of the cloned product is always zero - expect(Spree::Product.second.on_hand).to eq 0 - # TODO expect(Spree::Product.second.on_hand).to eq Spree::Product.first.on_hand end end end From a2de86c23e9f35cd06a096475fbdc89ff2902b1d Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Thu, 6 May 2021 23:09:48 +0100 Subject: [PATCH 04/15] Replace be_success on test_reponse with status 200 In rails 6 response.success? is not supported. --- .../reports/bulk_coop_controller_spec.rb | 4 ++-- .../enterprise_fee_summaries_controller_spec.rb | 4 ++-- spec/controllers/api/v0/enterprises_controller_spec.rb | 6 +++--- spec/controllers/api/v0/logos_controller_spec.rb | 6 +++--- .../controllers/api/v0/promo_images_controller_spec.rb | 6 +++--- spec/controllers/api/v0/statuses_controller_spec.rb | 6 +++--- .../api/v0/terms_and_conditions_controller_spec.rb | 2 +- spec/controllers/checkout_controller_spec.rb | 2 +- spec/controllers/shop_controller_spec.rb | 6 +++--- spec/controllers/spree/orders_controller_spec.rb | 10 +++++----- spec/controllers/user_passwords_controller_spec.rb | 2 +- spec/performance/shop_controller_spec.rb | 2 +- 12 files changed, 28 insertions(+), 28 deletions(-) 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/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/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 fc7a0b3279..70553fb950 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") @@ -153,7 +153,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 payment.reload expect(payment.cvv_response_message).to eq("https://stripe.com/redirect") expect(payment.state).to eq("pending") 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/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 From c71a4918a06d9179c3db4e2a59fc4fffe53f53aa Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Fri, 7 May 2021 16:40:03 +1000 Subject: [PATCH 05/15] Updating translations for config/locales/ca.yml --- config/locales/ca.yml | 2 ++ 1 file changed, 2 insertions(+) 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" From ac2c02a9832d80f467619256c4e0116ca3ad0c05 Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Fri, 7 May 2021 16:40:26 +1000 Subject: [PATCH 06/15] Updating translations for config/locales/es.yml --- config/locales/es.yml | 2 ++ 1 file changed, 2 insertions(+) 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" From cbdeef064a5388ac1efd6fe55b70744375fd6e57 Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Fri, 7 May 2021 17:53:20 +1000 Subject: [PATCH 07/15] Updating translations for config/locales/fr.yml --- config/locales/fr.yml | 2 ++ 1 file changed, 2 insertions(+) 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" From 55018260dffae2ea3ddfc32285be511ed02c38bf Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Fri, 7 May 2021 17:53:34 +1000 Subject: [PATCH 08/15] Updating translations for config/locales/en_FR.yml --- config/locales/en_FR.yml | 2 ++ 1 file changed, 2 insertions(+) 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" From c71d4bce6aa737418792cb82e0e7b68aa6afc074 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Fri, 7 May 2021 09:42:35 +0100 Subject: [PATCH 09/15] Update DFC routes --- config/routes.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 => '/' From d24d7fce56927a61a7bcbb131591f9275730157d Mon Sep 17 00:00:00 2001 From: Transifex-Openfoodnetwork Date: Sun, 9 May 2021 05:16:39 +1000 Subject: [PATCH 10/15] Updating translations for config/locales/de_DE.yml --- config/locales/de_DE.yml | 2 ++ 1 file changed, 2 insertions(+) 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" From dd851edbdc415e181cebfcbdd7678e65bc801ac3 Mon Sep 17 00:00:00 2001 From: Andy Brett Date: Sat, 8 May 2021 14:21:12 -0700 Subject: [PATCH 11/15] fix enterprise permalink spec --- spec/models/enterprise_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 6a342ae3686833c09f10c2534b8df41fb4ffdb74 Mon Sep 17 00:00:00 2001 From: Viktor Smari Date: Sun, 9 May 2021 00:53:29 +0200 Subject: [PATCH 12/15] Ransack.search is deprecated. Use .ransack instead https://github.com/activerecord-hackery/ransack/pull/975 --- app/services/permissions/order.rb | 2 +- lib/open_food_network/order_and_distributor_report.rb | 2 +- lib/open_food_network/order_cycle_management_report.rb | 2 +- lib/open_food_network/payments_report.rb | 2 +- lib/open_food_network/reports/line_items.rb | 2 +- lib/open_food_network/xero_invoices_report.rb | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) 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/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 From 66da72ccc2266e4feebfab0ccc165ca1a8beec9a Mon Sep 17 00:00:00 2001 From: Andy Brett Date: Thu, 6 May 2021 19:15:50 -0700 Subject: [PATCH 13/15] use raw to render stripe mock js --- app/views/shared/_stripe_js.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"} From 231f01dad2218f4870452b3714a2055a2dba640f Mon Sep 17 00:00:00 2001 From: Andy Brett Date: Sat, 8 May 2021 15:03:23 -0700 Subject: [PATCH 14/15] fix order adjustments spec --- spec/models/spree/order_spec.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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 From cb15e28cefdafe4727c3fd0ea5dbcf1be97ca172 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 May 2021 05:55:18 +0000 Subject: [PATCH 15/15] Bump factory_bot_rails from 6.1.0 to 6.2.0 Bumps [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) from 6.1.0 to 6.2.0. - [Release notes](https://github.com/thoughtbot/factory_bot_rails/releases) - [Changelog](https://github.com/thoughtbot/factory_bot_rails/blob/master/NEWS.md) - [Commits](https://github.com/thoughtbot/factory_bot_rails/compare/v6.1.0...v6.2.0) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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