mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-14 18:56:49 +00:00
Compare commits
1 Commits
RachL-patc
...
v4.6.12
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52839ea51d |
@@ -31,12 +31,16 @@ class QuantitativeValueBuilder < DfcBuilder
|
||||
measure, unit_name, unit_scale = map_unit(quantity.unit)
|
||||
value = quantity.value.to_f * unit_scale
|
||||
|
||||
# Import invalid value as one item.
|
||||
if measure.in?(%w(weight volume)) && value <= 0
|
||||
measure = "items"
|
||||
unit_name = "items"
|
||||
value = 1
|
||||
end
|
||||
|
||||
# Items don't have a scale, only a value on the variant.
|
||||
unit_scale = nil if measure == "items"
|
||||
|
||||
product.variant_unit = measure
|
||||
product.variant_unit_name = unit_name if measure == "items"
|
||||
product.variant_unit_scale = unit_scale
|
||||
|
||||
@@ -58,7 +58,7 @@ RSpec.describe QuantitativeValueBuilder do
|
||||
|
||||
expect(product.variant_unit).to eq "items"
|
||||
expect(product.variant_unit_name).to eq "Jar"
|
||||
expect(product.variant_unit_scale).to eq 1
|
||||
expect(product.variant_unit_scale).to eq nil
|
||||
expect(product.unit_value).to eq 3
|
||||
end
|
||||
|
||||
@@ -142,7 +142,7 @@ RSpec.describe QuantitativeValueBuilder do
|
||||
|
||||
expect(product.variant_unit).to eq "items"
|
||||
expect(product.variant_unit_name).to eq "dozen"
|
||||
expect(product.variant_unit_scale).to eq 12
|
||||
expect(product.variant_unit_scale).to eq nil
|
||||
expect(product.unit_value).to eq 24
|
||||
end
|
||||
end
|
||||
|
||||
@@ -107,6 +107,8 @@ RSpec.describe SuppliedProductBuilder do
|
||||
expect(subject).to be_persisted
|
||||
expect(subject.name).to eq("Fillet Steak - 201g x 1 Steak")
|
||||
expect(subject.variant_unit).to eq("items")
|
||||
expect(subject.product.variant_unit_scale).to eq(nil)
|
||||
expect(subject.product.variant_unit_with_scale).to eq("items")
|
||||
expect(subject.unit_value).to eq(1)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user