From 2fa05ae24836456cfaf90c49abcd0f34e91d1a55 Mon Sep 17 00:00:00 2001 From: Mohamed ABDELLANI Date: Wed, 30 Nov 2022 12:43:23 +0100 Subject: [PATCH] test the case where 2 PR supports 2 SM, and only one SM is checked for a distributor in the OC --- .../order_available_shipping_methods_spec.rb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/spec/services/order_available_shipping_methods_spec.rb b/spec/services/order_available_shipping_methods_spec.rb index 59acb35dc6..dc4c80134d 100644 --- a/spec/services/order_available_shipping_methods_spec.rb +++ b/spec/services/order_available_shipping_methods_spec.rb @@ -190,4 +190,28 @@ describe OrderAvailableShippingMethods do end end end + + context "when two distributors implement the same shipping methods" do + context "only one distributor supports the two shipping methods in the order cycle" do + let(:oc){ create(:order_cycle) } + let(:shipping_method){ create(:shipping_method) } + let(:shipping_method2){ create(:shipping_method) } + let(:d1){ oc.distributors.first } + let(:d2){ oc.distributors.second } + before { + d1.shipping_methods << shipping_method + d1.shipping_methods << shipping_method2 + d2.shipping_methods << shipping_method + d2.shipping_methods << shipping_method2 + oc.selected_distributor_shipping_methods << d1.distributor_shipping_methods.first + oc.selected_distributor_shipping_methods << d1.distributor_shipping_methods.second + oc.selected_distributor_shipping_methods << d2.distributor_shipping_methods.first + } + it do + order = build(:order, distributor: d2, order_cycle: oc) + order_available_shipping_methods = OrderAvailableShippingMethods.new(order).to_a + expect(order_available_shipping_methods).to eq([d2.shipping_methods.first]) + end + end + end end