Sha256: c6d73279a65ccae5fc2e564212aefa607bd48b03a473953553d398443c32dfa0

Contents?: true

Size: 985 Bytes

Versions: 4

Compression:

Stored size: 985 Bytes

Contents

# frozen_string_literal: true

require 'spree/testing_support/factories/order_factory'
require 'spree/testing_support/factories/stock_location_factory'
require 'spree/testing_support/factories/shipping_method_factory'

FactoryBot.define do
  factory :shipment, class: 'Spree::Shipment' do
    tracking 'U10000'
    cost 100.00
    state 'pending'
    order
    stock_location

    transient do
      shipping_method nil
    end

    after(:create) do |shipment, evaluator|
      shipping_method = evaluator.shipping_method || create(:shipping_method, cost: evaluator.cost)
      shipment.shipping_rates.create!(
        shipping_method: shipping_method,
        cost: evaluator.cost,
        selected: true
      )

      shipment.order.line_items.each do |line_item|
        line_item.quantity.times do
          shipment.inventory_units.create!(
            variant_id: line_item.variant_id,
            line_item_id: line_item.id
          )
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
solidus_core-2.6.2 lib/spree/testing_support/factories/shipment_factory.rb
solidus_core-2.6.1 lib/spree/testing_support/factories/shipment_factory.rb
solidus_core-2.6.0 lib/spree/testing_support/factories/shipment_factory.rb
solidus_core-2.6.0.rc1 lib/spree/testing_support/factories/shipment_factory.rb