Sha256: 8e140cb12394239fe3b6f8a6e9a4fc263aed62d32c34307dfbc4e84e11968316

Contents?: true

Size: 974 Bytes

Versions: 10

Compression:

Stored size: 974 Bytes

Contents

FactoryGirl.define do
  factory :base_product, class: Spree::Product do
    sequence(:name) { |n| "Product ##{n} - #{Kernel.rand(9999)}" }
    description { generate(:random_description) }
    price 19.99
    cost_price 17.00
    sku 'ABC'
    available_on { 1.year.ago }
    deleted_at nil
    shipping_category { |r| Spree::ShippingCategory.first || r.association(:shipping_category) }

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

    factory :custom_product do
      name 'Custom Product'
      price 17.99

      tax_category { |r| Spree::TaxCategory.first || r.association(:tax_category) }
    end

    factory :product do
      tax_category { |r| Spree::TaxCategory.first || r.association(:tax_category) }

      factory :product_with_option_types do
        after(:create) { |product| create(:product_option_type, product: product) }
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spree_core-2.3.1 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.3.0 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.1.3 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.0.7 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.1.2 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.0.6 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.1.1 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.0.5 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.1.0 lib/spree/testing_support/factories/product_factory.rb
spree_core-2.0.4 lib/spree/testing_support/factories/product_factory.rb