Sha256: 6c75b7821430c4848e38cfba4466f9d9835a3833e09a486c5b1d15f51c6a133d
Contents?: true
Size: 1.52 KB
Versions: 2
Compression:
Stored size: 1.52 KB
Contents
FactoryGirl.define do factory :promotion, class: Spree::Promotion do name 'Promo' trait :with_line_item_adjustment do ignore do adjustment_rate 10 end after(:create) do |promotion, evaluator| calculator = Spree::Calculator::FlatRate.new calculator.preferred_amount = evaluator.adjustment_rate Spree::Promotion::Actions::CreateItemAdjustments.create!(calculator: calculator, promotion: promotion) end end factory :promotion_with_item_adjustment, traits: [:with_line_item_adjustment] trait :with_order_adjustment do ignore do weighted_order_adjustment_amount 10 end after(:create) do |promotion, evaluator| calculator = Spree::Calculator::FlatRate.new calculator.preferred_amount = evaluator.weighted_order_adjustment_amount action = Spree::Promotion::Actions::CreateAdjustment.create!(:calculator => calculator) promotion.actions << action promotion.save! end end trait :with_item_total_rule do ignore do item_total_threshold_amount 10 end after(:create) do |promotion, evaluator| rule = Spree::Promotion::Rules::ItemTotal.create!( preferred_operator_min: 'gte', preferred_operator_max: 'lte', preferred_amount_min: evaluator.item_total_threshold_amount, preferred_amount_max: evaluator.item_total_threshold_amount + 100 ) promotion.rules << rule promotion.save! end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
spree_core-2.4.0.rc2 | lib/spree/testing_support/factories/promotion_factory.rb |
spree_core-2.4.0.rc1 | lib/spree/testing_support/factories/promotion_factory.rb |