Sha256: b2805b6a608dbea0d682b72f39a78cb38ec7edecf98a4b18aae4458f26498fa2

Contents?: true

Size: 689 Bytes

Versions: 4

Compression:

Stored size: 689 Bytes

Contents

# frozen_string_literal: true

require 'spree/testing_support/factories/customer_return_factory'

FactoryBot.define do
  factory :reimbursement, class: 'Spree::Reimbursement' do
    transient do
      return_items_count 1
    end

    customer_return { create(:customer_return_with_accepted_items, line_items_count: return_items_count) }

    before(:create) do |reimbursement, _evaluator|
      reimbursement.order ||= reimbursement.customer_return.order
      if reimbursement.return_items.empty?
        reimbursement.return_items = reimbursement.customer_return.return_items
      end
      reimbursement.total = reimbursement.return_items.map { |ri| ri.amount }.sum
    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/reimbursement_factory.rb
solidus_core-2.6.1 lib/spree/testing_support/factories/reimbursement_factory.rb
solidus_core-2.6.0 lib/spree/testing_support/factories/reimbursement_factory.rb
solidus_core-2.6.0.rc1 lib/spree/testing_support/factories/reimbursement_factory.rb