From 9ddf536fa33441989906064dbad2c6a24c0e5e95 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Mon, 28 Aug 2023 14:47:36 +1000 Subject: [PATCH] Import DFC milligram --- .../app/services/quantitative_value_builder.rb | 2 ++ .../services/quantitative_value_builder_spec.rb | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/engines/dfc_provider/app/services/quantitative_value_builder.rb b/engines/dfc_provider/app/services/quantitative_value_builder.rb index 0004c80703..7013063062 100644 --- a/engines/dfc_provider/app/services/quantitative_value_builder.rb +++ b/engines/dfc_provider/app/services/quantitative_value_builder.rb @@ -34,6 +34,8 @@ class QuantitativeValueBuilder < DfcBuilder case quantity.unit when quantity_unit.LITRE ["volume", "liter", 1] + when quantity_unit.MILLIGRAM + ["weight", "mg", 0.001] when quantity_unit.GRAM ["weight", "gram", 1] when quantity_unit.KILOGRAM diff --git a/engines/dfc_provider/spec/services/quantitative_value_builder_spec.rb b/engines/dfc_provider/spec/services/quantitative_value_builder_spec.rb index 60528f0ae6..aa2f7a9142 100644 --- a/engines/dfc_provider/spec/services/quantitative_value_builder_spec.rb +++ b/engines/dfc_provider/spec/services/quantitative_value_builder_spec.rb @@ -89,5 +89,19 @@ describe QuantitativeValueBuilder do expect(product.variant_unit_scale).to eq 1_000 expect(product.unit_value).to eq 4_000 end + + it "knows metric units with a small scale" do + quantity = DataFoodConsortium::Connector::QuantitativeValue.new( + unit: quantity_unit.MILLIGRAM, + value: 5, + ) + + builder.apply(quantity, product) + + expect(product.variant_unit).to eq "weight" + expect(product.variant_unit_name).to eq "mg" + expect(product.variant_unit_scale).to eq 0.001 + expect(product.unit_value).to eq 0.005 + end end end