Sha256: 7a23d9fb135399082530b2f406e7d6c5ed594899849f8707258e9fb534e0a89b

Contents?: true

Size: 1.11 KB

Versions: 6

Compression:

Stored size: 1.11 KB

Contents

require 'spree/testing_support/sequences'
require 'spree/testing_support/factories/option_value_factory'
require 'spree/testing_support/factories/option_type_factory'
require 'spree/testing_support/factories/product_factory'

FactoryGirl.define do
  sequence(:random_float) { BigDecimal.new("#{rand(200)}.#{rand(99)}") }

  factory :base_variant, class: Spree::Variant do
    price 19.99
    cost_price 17.00
    sku { generate(:sku) }
    is_master 0
    track_inventory true

    product { |p| p.association(:base_product) }

    # ensure stock item will be created for this variant
    before(:create) { create(:stock_location) if Spree::StockLocation.count == 0 }

    factory :variant do
      # on_hand 5
      product { |p| p.association(:product) }
      option_values { [create(:option_value)] }
    end

    factory :master_variant do
      is_master 1
      before(:create){ |variant| variant.product.master = variant }
      product { build(:base_product) }
    end

    factory :on_demand_variant do
      track_inventory false

      factory :on_demand_master_variant do
        is_master 1
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
solidus_core-2.3.1 lib/spree/testing_support/factories/variant_factory.rb
solidus_core-2.3.0 lib/spree/testing_support/factories/variant_factory.rb
solidus_core-2.3.0.rc3 lib/spree/testing_support/factories/variant_factory.rb
solidus_core-2.3.0.rc2 lib/spree/testing_support/factories/variant_factory.rb
solidus_core-2.3.0.rc1 lib/spree/testing_support/factories/variant_factory.rb
solidus_core-2.3.0.beta1 lib/spree/testing_support/factories/variant_factory.rb