Sha256: d80e755a9279eb5c06dd38170de1b3f65e8027ccb6ba6256576b058abd7c8441

Contents?: true

Size: 899 Bytes

Versions: 6

Compression:

Stored size: 899 Bytes

Contents

require 'rails_helper'
require 'shared_examples/calculator_shared_examples'

RSpec.describe Spree::Calculator::DistributedAmount, type: :model do
  describe "#compute_line_item" do
    subject { calculator.compute_line_item(order.line_items.first) }

    let(:calculator) { Spree::Calculator::DistributedAmount.new }

    let(:order) do
      FactoryBot.create(
        :order_with_line_items,
        line_items_attributes: [{ price: 50 }, { price: 50 }, { price: 50 }]
      )
    end

    before do
      calculator.preferred_amount = 15
      calculator.preferred_currency = currency
    end

    context "when the order currency matches the store's currency" do
      let(:currency) { "USD" }
      it { is_expected.to eq 5 }
    end

    context "when the order currency does not match the store's currency" do
      let(:currency) { "CAD" }
      it { is_expected.to eq 0 }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
solidus_core-2.5.2 spec/models/spree/calculator/distributed_amount_spec.rb
solidus_core-2.5.1 spec/models/spree/calculator/distributed_amount_spec.rb
solidus_core-2.5.0 spec/models/spree/calculator/distributed_amount_spec.rb
solidus_core-2.5.0.rc1 spec/models/spree/calculator/distributed_amount_spec.rb
solidus_core-2.5.0.beta2 spec/models/spree/calculator/distributed_amount_spec.rb
solidus_core-2.5.0.beta1 spec/models/spree/calculator/distributed_amount_spec.rb