Sha256: 7d618cdd683a058309e1626c9c6c106c7fd6bb61078b7a0182145419dac9588e

Contents?: true

Size: 850 Bytes

Versions: 2

Compression:

Stored size: 850 Bytes

Contents

require File.dirname(__FILE__) + '/../../spec_helper'

describe Calculator::FlatPercentItemTotal do
  let(:calculator) { Calculator::FlatPercentItemTotal.new }
  let(:order) { mock_model Order, :line_items => [mock_model(LineItem, :amount => 10), mock_model(LineItem, :amount => 20)] }

  before { calculator.stub :preferred_flat_percent => 10 }

  context "compute" do
    it "should compute amount correctly" do
      calculator.compute(order).should == 3.0
    end

    it "should round result correctly" do
      order.stub :line_items => [mock_model(LineItem, :amount => 10.56), mock_model(LineItem, :amount => 20.49)]
      calculator.compute(order).should == 3.11

      order.stub :line_items => [mock_model(LineItem, :amount => 10.56), mock_model(LineItem, :amount => 20.48)]
      calculator.compute(order).should == 3.10
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
MyCommerceapi-1.0.0 core/spec/models/calculator/flat_percent_item_total_spec.rb
MyCommerce-0.0.3 core/spec/models/calculator/flat_percent_item_total_spec.rb