Sha256: 0d9b5a64c9b18826babda83a87b6f048fd67de3f955ac6960aed1d94640860b9

Contents?: true

Size: 1.24 KB

Versions: 18

Compression:

Stored size: 1.24 KB

Contents

require 'spree/testing_support/factories/line_item_factory'
require 'spree/testing_support/factories/order_factory'
require 'spree/testing_support/factories/tax_category_factory'
require 'spree/testing_support/factories/tax_rate_factory'
require 'spree/testing_support/factories/zone_factory'

FactoryGirl.define do
  factory :adjustment, class: Spree::Adjustment do
    order
    adjustable { order }
    amount 100.0
    label 'Shipping'
    association(:source, factory: :tax_rate)
    eligible true

    after(:build) do |adjustment|
      adjustments = adjustment.adjustable.adjustments
      if adjustments.loaded? && !adjustments.include?(adjustment)
        adjustments.proxy_association.add_to_target(adjustment)
      end
    end

    factory :tax_adjustment, class: Spree::Adjustment do
      order { adjustable.order }
      association(:adjustable, factory: :line_item)
      amount 10.0
      label 'VAT 5%'

      after(:create) do |adjustment|
        # Set correct tax category, so that adjustment amount is not 0
        if adjustment.adjustable.is_a?(Spree::LineItem)
          adjustment.source.tax_category = adjustment.adjustable.tax_category
          adjustment.source.save
          adjustment.update!
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
solidus_core-2.2.2 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.1.1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.0.3 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-1.4.2 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.0.2 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-1.4.1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.2.1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.2.0 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.2.0.rc1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.2.0.beta1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.1.0 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.1.0.rc1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.0.1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.1.0.beta1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.0.0 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-1.4.0 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-2.0.0.rc1 lib/spree/testing_support/factories/adjustment_factory.rb
solidus_core-1.4.0.rc1 lib/spree/testing_support/factories/adjustment_factory.rb