Sha256: 6a74b730ed63774bbfbd104c60524c40c6891177c93b71f07cd628ea0582eafd

Contents?: true

Size: 1.13 KB

Versions: 14

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

require 'rails_helper'
require 'shared_examples/calculator_shared_examples'

module Spree
  module Calculator::Shipping
    RSpec.describe FlatPercentItemTotal, type: :model do
      it_behaves_like 'a calculator with a description'

      let(:line_item1) { build(:line_item, price: 10.11) }
      let(:line_item2) { build(:line_item, price: 20.2222) }

      let(:inventory_unit1) { build(:inventory_unit, line_item: line_item1) }
      let(:inventory_unit2) { build(:inventory_unit, line_item: line_item2) }

      let(:package) do
        build(
          :stock_package,
          contents: [
            Spree::Stock::ContentItem.new(inventory_unit1),
            Spree::Stock::ContentItem.new(inventory_unit1),
            Spree::Stock::ContentItem.new(inventory_unit2),
          ]
        )
      end

      subject { FlatPercentItemTotal.new(preferred_flat_percent: 10) }

      it "should round result correctly" do
        expect(subject.compute(package)).to eq(4.04)
      end

      it "should return a bigdecimal" do
        expect(subject.compute(package)).to be_a(BigDecimal)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
solidus_core_devise_token_auth-2.8.0.alpha.14 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.13 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.12 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.11 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.10 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.9 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.8 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.7 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.6 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.5 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.4 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.3 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.1 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb
solidus_core_devise_token_auth-2.8.0.alpha.0 spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb