Sha256: fc38477c82126f39fa9d8e8844caae5f6f3b8c1680cea22b6b5958cc4ba4bb16

Contents?: true

Size: 1.7 KB

Versions: 17

Compression:

Stored size: 1.7 KB

Contents

FactoryBot.define do
  factory :master_price, class: "Comee::Core::MasterPrice" do
    purchase_price { 100.0 }
    selling_price { 90.0 }
    valid_from { Date.current.advance(months: -1) }
    valid_to { Date.current.advance(months: 1) }
    primary { false }
    margin { 10.0 }
    product
    supplier
    unit
    previous_price { nil }
    next_price { nil }
    propagated_to_client { false }

    trait :past do
      valid_from { Date.current.advance(months: -2) }
      valid_to { Date.current.advance(months: -1) }
    end

    trait :future do
      valid_from { Date.current.advance(months: 1) }
      valid_to { Date.current.advance(months: 2) }
    end

    trait :with_previous_price do
      after(:create) do |price|
        previous_price = build(
          :master_price,
          valid_from: price.valid_from.advance(months: -1),
          valid_to: price.valid_from.advance(days: -1),
          primary: price.primary,
          margin: price.margin,
          product: price.product,
          supplier: price.supplier,
          unit: price.unit,
          next_price: price
        )

        price.previous_price = previous_price
        price.save!
        price
      end
    end

    trait :with_next_price do
      after(:create) do |price|
        next_price = create(
          :master_price,
          valid_from: price.valid_to.advance(days: 1),
          valid_to: price.valid_to.advance(months: 1),
          primary: price.primary,
          margin: price.margin,
          product: price.product,
          supplier: price.supplier,
          unit: price.unit,
          previous_price: price
        )
        price.next_price = next_price
        price.save!
        price
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
comee_core-0.1.53 spec/factories/comee/core/master_prices.rb
comee_core-0.1.52 spec/factories/comee/core/master_prices.rb
comee_core-0.1.51 spec/factories/comee/core/master_prices.rb
comee_core-0.1.50 spec/factories/comee/core/master_prices.rb
comee_core-0.1.49 spec/factories/comee/core/master_prices.rb
comee_core-0.1.48 spec/factories/comee/core/master_prices.rb
comee_core-0.1.47 spec/factories/comee/core/master_prices.rb
comee_core-0.1.46 spec/factories/comee/core/master_prices.rb
comee_core-0.1.45 spec/factories/comee/core/master_prices.rb
comee_core-0.1.45.pre3 spec/factories/comee/core/master_prices.rb
comee_core-0.1.45.pre2 spec/factories/comee/core/master_prices.rb
comee_core-0.1.45.pre spec/factories/comee/core/master_prices.rb
comee_core-0.1.44 spec/factories/comee/core/master_prices.rb
comee_core-0.1.43 spec/factories/comee/core/master_prices.rb
comee_core-0.1.42 spec/factories/comee/core/master_prices.rb
comee_core-0.1.41 spec/factories/comee/core/master_prices.rb
comee_core-0.1.40 spec/factories/comee/core/master_prices.rb