Sha256: badf197c5ae7f0e444f4efa765cac1db58ab4820c92f4af5ab1b4f4d24d6cff0

Contents?: true

Size: 1.75 KB

Versions: 17

Compression:

Stored size: 1.75 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 }
    product_lookup { 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.96 spec/factories/comee/core/master_prices.rb
comee_core-0.1.95 spec/factories/comee/core/master_prices.rb
comee_core-0.1.94 spec/factories/comee/core/master_prices.rb
comee_core-0.1.93 spec/factories/comee/core/master_prices.rb
comee_core-0.1.92 spec/factories/comee/core/master_prices.rb
comee_core-0.1.91 spec/factories/comee/core/master_prices.rb
comee_core-0.1.90 spec/factories/comee/core/master_prices.rb
comee_core-0.1.89 spec/factories/comee/core/master_prices.rb
comee_core-0.1.88 spec/factories/comee/core/master_prices.rb
comee_core-0.1.87 spec/factories/comee/core/master_prices.rb
comee_core-0.1.86 spec/factories/comee/core/master_prices.rb
comee_core-0.1.85 spec/factories/comee/core/master_prices.rb
comee_core-0.1.84 spec/factories/comee/core/master_prices.rb
comee_core-0.1.83 spec/factories/comee/core/master_prices.rb
comee_core-0.1.82 spec/factories/comee/core/master_prices.rb
comee_core-0.1.81 spec/factories/comee/core/master_prices.rb
comee_core-0.1.80 spec/factories/comee/core/master_prices.rb