Sha256: f9b48bc5fb5f87e6e34dcdce3b599a3b08ac29dc5bbf3c5c1313b69f2ed4f4b2

Contents?: true

Size: 1.72 KB

Versions: 26

Compression:

Stored size: 1.72 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 }
    lead_time { nil }
    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

26 entries across 26 versions & 1 rubygems

Version Path
comee_core-0.1.79 spec/factories/comee/core/master_prices.rb
comee_core-0.1.78 spec/factories/comee/core/master_prices.rb
comee_core-0.1.77 spec/factories/comee/core/master_prices.rb
comee_core-0.1.76 spec/factories/comee/core/master_prices.rb
comee_core-0.1.75 spec/factories/comee/core/master_prices.rb
comee_core-0.1.74 spec/factories/comee/core/master_prices.rb
comee_core-0.1.73 spec/factories/comee/core/master_prices.rb
comee_core-0.1.72 spec/factories/comee/core/master_prices.rb
comee_core-0.1.71 spec/factories/comee/core/master_prices.rb
comee_core-0.1.70 spec/factories/comee/core/master_prices.rb
comee_core-0.1.69 spec/factories/comee/core/master_prices.rb
comee_core-0.1.68 spec/factories/comee/core/master_prices.rb
comee_core-0.1.67 spec/factories/comee/core/master_prices.rb
comee_core-0.1.66 spec/factories/comee/core/master_prices.rb
comee_core-0.1.65 spec/factories/comee/core/master_prices.rb
comee_core-0.1.64 spec/factories/comee/core/master_prices.rb
comee_core-0.1.63 spec/factories/comee/core/master_prices.rb
comee_core-0.1.62 spec/factories/comee/core/master_prices.rb
comee_core-0.1.61 spec/factories/comee/core/master_prices.rb
comee_core-0.1.60 spec/factories/comee/core/master_prices.rb