Sha256: 447cdf1d8b4da197a79af5d98bd67d61f9af6ef4d822bba6a52b142b6fd8c9c9

Contents?: true

Size: 1.18 KB

Versions: 27

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

require 'rails_helper'

RSpec.describe Spree::ReimbursementPerformer, type: :model do
  let(:reimbursement)           { create(:reimbursement, return_items_count: 1) }
  let(:return_item)             { reimbursement.return_items.first }
  let(:reimbursement_type)      { double("ReimbursementType") }
  let(:reimbursement_type_hash) { { reimbursement_type => [return_item] } }

  before do
    expect(Spree::ReimbursementPerformer).to receive(:calculate_reimbursement_types).and_return(reimbursement_type_hash)
  end

  describe ".simulate" do
    subject { Spree::ReimbursementPerformer.simulate(reimbursement) }

    it "reimburses each calculated reimbursement types with the correct return items as a simulation" do
      expect(reimbursement_type).to receive(:reimburse).with(reimbursement, [return_item], true)
      subject
    end
  end

  describe '.perform' do
    subject { Spree::ReimbursementPerformer.perform(reimbursement) }

    it "reimburses each calculated reimbursement types with the correct return items as a simulation" do
      expect(reimbursement_type).to receive(:reimburse).with(reimbursement, [return_item], false)
      subject
    end
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
solidus_core-2.6.6 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.7.4 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.7.3 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.6.5 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.7.2 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.6.4 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.6.3 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.7.1 spec/models/spree/reimbursement_performer_spec.rb
solidus_core-2.6.2 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.14 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.13 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.12 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.11 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.10 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.9 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.8 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.7 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.6 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.5 spec/models/spree/reimbursement_performer_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.4 spec/models/spree/reimbursement_performer_spec.rb