Sha256: af8fb628c4054325c02793d7741e3419abc08716f28a3c7bd1124747a35f3b1b

Contents?: true

Size: 968 Bytes

Versions: 34

Compression:

Stored size: 968 Bytes

Contents

# frozen_string_literal: true

require 'rails_helper'

RSpec.describe Spree::Tax::OrderAdjuster do
  subject(:adjuster) { described_class.new(order) }

  describe 'initialization' do
    let(:order) { Spree::Order.new }

    it 'sets order to adjustable' do
      expect(adjuster.order).to eq(order)
    end
  end

  describe '#adjust!' do
    let(:order) { Spree::Order.new }

    let(:custom_calculator_class) { double }
    let(:custom_calculator_instance) { double }

    before do
      Spree::Config.tax_calculator_class = custom_calculator_class
    end

    it 'calls the configured tax calculator' do
      expect(custom_calculator_class).to receive(:new).with(order).at_least(:once).and_return(custom_calculator_instance)
      expect(custom_calculator_instance).to receive(:calculate).at_least(:once).and_return(
        Spree::Tax::OrderTax.new(order_id: order.id, line_item_taxes: [], shipment_taxes: [])
      )

      adjuster.adjust!
    end
  end
end

Version data entries

34 entries across 34 versions & 2 rubygems

Version Path
solidus_core-2.8.6 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.6.6 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.7.4 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.8.5 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.7.3 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.6.5 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.8.4 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.8.3 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.7.2 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.6.4 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.8.2 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.8.1 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.6.3 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.8.0 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.7.1 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core-2.6.2 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.14 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.13 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.12 spec/models/spree/tax/order_adjuster_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.11 spec/models/spree/tax/order_adjuster_spec.rb