Use create instead of build so that we test with callbacks

This commit is contained in:
Luis Ramos
2020-03-25 11:22:40 +00:00
parent ef0fb18fda
commit 9af4bb9757

View File

@@ -19,8 +19,8 @@ describe Calculator::Weight do
end
describe "line item with variant_unit weight and variant unit_value" do
let(:variant) { build(:variant, unit_value: 10_000) }
let(:line_item) { build(:line_item, variant: variant, quantity: 2) }
let(:variant) { create(:variant, unit_value: 10_000) }
let(:line_item) { create(:line_item, variant: variant, quantity: 2) }
before { subject.set_preference(:per_kg, 5) }
@@ -46,11 +46,11 @@ describe Calculator::Weight do
end
it "computes shipping cost for an object with an order" do
variant1 = build(:variant, unit_value: 10_000)
variant2 = build(:variant, unit_value: 20_000)
variant1 = create(:variant, unit_value: 10_000)
variant2 = create(:variant, unit_value: 20_000)
line_item1 = build(:line_item, variant: variant1, quantity: 1)
line_item2 = build(:line_item, variant: variant2, quantity: 2)
line_item1 = create(:line_item, variant: variant1, quantity: 1)
line_item2 = create(:line_item, variant: variant2, quantity: 2)
order = double(:order, line_items: [line_item1, line_item2])
object_with_order = double(:object_with_order, order: order)
@@ -65,7 +65,7 @@ describe Calculator::Weight do
let(:calculator) { described_class.new(preferred_per_kg: 6) }
let(:line_item) do
build(:line_item, variant: variant, quantity: 2).tap do |object|
create(:line_item, variant: variant, quantity: 2).tap do |object|
object.send(:calculate_final_weight_volume)
end
end