From ddaac654efaa59d886313c9c44057e02ee37a189 Mon Sep 17 00:00:00 2001 From: "Nihal M. Kelanthodika" Date: Thu, 27 Jan 2022 16:11:06 +0530 Subject: [PATCH] Add specs for conversion of variant weight input into decimal/0.0 --- spec/models/spree/variant_spec.rb | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/spec/models/spree/variant_spec.rb b/spec/models/spree/variant_spec.rb index 548f82e1d8..73a1f79660 100644 --- a/spec/models/spree/variant_spec.rb +++ b/spec/models/spree/variant_spec.rb @@ -525,6 +525,38 @@ module Spree expect(product.master).to be_valid end end + + context "when the product's unit is non-weight" do + before do + product.update_attribute :variant_unit, 'volume' + product.reload + variant.reload + end + + it "sets weight to decimal before save if it's integer" do + variant.weight = 1 + variant.save! + expect(variant.weight).to eq 1.0 + end + + it "sets weight to 0.0 before save if it's nil" do + variant.weight = nil + variant.save! + expect(variant.weight).to eq 0.0 + end + + it "sets weight to 0.0 if input is a non numerical string" do + variant.weight = "BANANAS!" + variant.save! + expect(variant.weight).to eq 0.0 + end + + it "sets weight to correct decimal value if input is numerical string" do + variant.weight = "2" + variant.save! + expect(variant.weight).to eq 2.0 + end + end end describe "unit value/description" do