Bring stock_location factory from spree_core and merge with modification

This commit is contained in:
Luis Ramos
2020-08-23 13:23:48 +01:00
parent 6819042489
commit 313e6e2b45
2 changed files with 36 additions and 11 deletions

View File

@@ -162,17 +162,6 @@ FactoryBot.define do
end
FactoryBot.modify do
factory :stock_location, class: Spree::StockLocation do
# keeps the test stock_location unique
initialize_with { DefaultStockLocation.find_or_create }
# Ensures the name attribute is not assigned after instantiating the default location
transient { name 'default' }
# sets the default value for variant.on_demand
backorderable_default false
end
factory :shipping_category, class: Spree::ShippingCategory do
initialize_with { DefaultShippingCategory.find_or_create }
transient { name 'Default' }

View File

@@ -0,0 +1,36 @@
FactoryGirl.define do
factory :stock_location, class: Spree::StockLocation do
# Ensures the name attribute is not assigned after instantiating the default location
transient { name 'default' }
# keeps the test stock_location unique
initialize_with { DefaultStockLocation.find_or_create }
name 'NY Warehouse'
address1 '1600 Pennsylvania Ave NW'
city 'Washington'
zipcode '20500'
phone '(202) 456-1111'
active true
# sets the default value for variant.on_demand
backorderable_default false
country { |stock_location| Spree::Country.first || stock_location.association(:country) }
state do |stock_location|
stock_location.country.states.first || stock_location.association(:state, :country => stock_location.country)
end
factory :stock_location_with_items do
after(:create) do |stock_location, evaluator|
# variant will add itself to all stock_locations in an after_create
# creating a product will automatically create a master variant
product_1 = create(:product)
product_2 = create(:product)
stock_location.stock_items.where(:variant_id => product_1.master.id).first.adjust_count_on_hand(10)
stock_location.stock_items.where(:variant_id => product_2.master.id).first.adjust_count_on_hand(20)
end
end
end
end