From 3e10c703bf3ebda3b67a644cdbc43904d8d3be05 Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Fri, 14 Jun 2019 12:43:07 +0100 Subject: [PATCH] Extract shipments factories to separate file --- spec/factories.rb | 29 --------------------------- spec/factories/shipment_factory.rb | 32 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 29 deletions(-) create mode 100644 spec/factories/shipment_factory.rb diff --git a/spec/factories.rb b/spec/factories.rb index e3459dca3b..cee0b2bc64 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -99,30 +99,6 @@ FactoryBot.define do enterprise_role 'distributor' end - factory :shipment_with, class: Spree::Shipment do - tracking 'U10000' - number '100' - cost 100.00 - state 'pending' - order - address - stock_location - - trait :shipping_method do - transient do - shipping_method { create(:shipping_method) } - end - - shipping_rates { [Spree::ShippingRate.create(shipping_method: shipping_method, selected: true)] } - - after(:create) do |shipment, evaluator| - shipment.order.line_items.each do |line_item| - line_item.quantity.times { shipment.inventory_units.create(variant_id: line_item.variant_id) } - end - end - end - end - factory :line_item_with_shipment, parent: :line_item do transient do shipping_fee 3 @@ -347,9 +323,4 @@ FactoryBot.modify do # sets the default value for variant.on_demand backorderable_default false end - - factory :shipment, class: Spree::Shipment do - # keeps test shipments unique per order - initialize_with { Spree::Shipment.find_or_create_by_order_id(order.id)} - end end diff --git a/spec/factories/shipment_factory.rb b/spec/factories/shipment_factory.rb new file mode 100644 index 0000000000..dc361889ea --- /dev/null +++ b/spec/factories/shipment_factory.rb @@ -0,0 +1,32 @@ +FactoryBot.define do + factory :shipment_with, class: Spree::Shipment do + tracking 'U10000' + number '100' + cost 100.00 + state 'pending' + order + address + stock_location + + trait :shipping_method do + transient do + shipping_method { create(:shipping_method) } + end + + shipping_rates { [Spree::ShippingRate.create(shipping_method: shipping_method, selected: true)] } + + after(:create) do |shipment, evaluator| + shipment.order.line_items.each do |line_item| + line_item.quantity.times { shipment.inventory_units.create(variant_id: line_item.variant_id) } + end + end + end + end +end + +FactoryBot.modify do + factory :shipment, class: Spree::Shipment do + # keeps test shipments unique per order + initialize_with { Spree::Shipment.find_or_create_by_order_id(order.id)} + end +end