test/unit/models/line_item_test.rb in xeroizer-2.17.1 vs test/unit/models/line_item_test.rb in xeroizer-2.18.1
- old
+ new
@@ -22,63 +22,57 @@
it "line_amount equals unit_price times quantity if there is no discount_rate" do
line_item = LineItem.new(nil)
line_item.quantity = 1
line_item.unit_amount = BigDecimal("1337.00")
- line_item.tax_amount = BigDecimal("0.15")
- expected = BigDecimal((line_item.quantity * (line_item.unit_amount)).to_s).round(2)
-
- assert_equal expected.to_s, line_item.line_amount.to_s,
+ assert_equal "1337.0", line_item.line_amount.to_s,
"expected line_amount to equal unit_amount times quantity"
end
it "line_amount equals unit_amount times quantity minus the discount if there is a discount_rate" do
line_item = LineItem.new(nil)
line_item.quantity = 1
line_item.unit_amount = BigDecimal("1337.00")
- line_item.tax_amount = BigDecimal("0.15")
- line_item.discount_rate = BigDecimal("10.0")
+ line_item.discount_rate = BigDecimal("12.34")
- discount = (100 - line_item.discount_rate) / 100
- expected = BigDecimal(((line_item.quantity * line_item.unit_amount) * discount).to_s).round(2)
- assert_equal expected.to_s, line_item.line_amount.to_s,
+ assert_equal "1172.01", line_item.line_amount.to_s,
"expected line_amount to equal unit_amount times quantity minus the discount"
end
it "line_amount is zero when quantity is nil or zero" do
line_item = LineItem.new(nil)
line_item.quantity = nil
line_item.unit_amount = BigDecimal("1.00")
- line_item.tax_amount = BigDecimal("0.15")
- assert_equal "0.0", line_item.line_amount.to_s, "expected line amount zero when quantity is nil"
+ assert_equal "0.0", line_item.line_amount.to_s,
+ "expected line amount to be zero when quantity is nil"
line_item.quantity = 0
- assert_equal "0.0", line_item.line_amount.to_s, "expected line amount zero when quantity is zero"
+ assert_equal "0.0", line_item.line_amount.to_s,
+ "expected line amount to be zero when quantity is zero"
end
it "is not possible to set unit_amount to zero" do
line_item = LineItem.new(nil)
- line_item.quantity = 1
line_item.unit_amount = nil
- line_item.tax_amount = BigDecimal("0.15")
assert_equal 0.0, line_item.unit_amount,
"Expected setting unit_amount to nil to be ignored, i.e., it should remain zero"
end
it "line_amount is zero when unit_amount is nil or zero" do
line_item = LineItem.new(nil)
line_item.quantity = 1
line_item.unit_amount = nil
- line_item.tax_amount = BigDecimal("0.15")
- assert_equal "0.0", line_item.line_amount.to_s, "expected line amount zero when unit_amount is nil"
+ assert_equal "0.0", line_item.line_amount.to_s,
+ "expected line amount to be zero when unit_amount is nil"
line_item.unit_amount = BigDecimal("0.00")
- assert_equal "0.0", line_item.line_amount.to_s, "expected line amount zero when unit_amount is zero"
+ assert_equal "0.0", line_item.line_amount.to_s,
+ "expected line amount to be zero when unit_amount is zero"
end
end