From 2a668c118fbb74c400b1a9169130a76277422b23 Mon Sep 17 00:00:00 2001 From: benbenben2 <110821832+benbenben2@users.noreply.github.com> Date: Tue, 5 Dec 2023 15:41:56 +0100 Subject: [PATCH] fix: Dq saturated fat only if fat defined (#9463) dq_serving_size_cant_be_parsed --- lib/ProductOpener/DataQualityFood.pm | 11 +++-------- tests/unit/dataqualityfood.t | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/lib/ProductOpener/DataQualityFood.pm b/lib/ProductOpener/DataQualityFood.pm index 345e8f01efb33..825f48f03c5c3 100644 --- a/lib/ProductOpener/DataQualityFood.pm +++ b/lib/ProductOpener/DataQualityFood.pm @@ -1241,14 +1241,9 @@ sub check_nutrition_data ($product_ref) { "en:nutrition-fructose-plus-glucose-plus-maltose-plus-lactose-plus-sucrose-greater-than-sugars"; } - if ( - ( - (defined $product_ref->{nutriments}{"saturated-fat_100g"}) - ? $product_ref->{nutriments}{"saturated-fat_100g"} - : 0 - ) - > (((defined $product_ref->{nutriments}{"fat_100g"}) ? $product_ref->{nutriments}{"fat_100g"} : 0) + 0.001) - ) + if ( (defined $product_ref->{nutriments}{"saturated-fat_100g"}) + and (defined $product_ref->{nutriments}{"fat_100g"}) + and ($product_ref->{nutriments}{"saturated-fat_100g"} > ($product_ref->{nutriments}{"fat_100g"} + 0.001))) { push @{$product_ref->{data_quality_errors_tags}}, "en:nutrition-saturated-fat-greater-than-fat"; diff --git a/tests/unit/dataqualityfood.t b/tests/unit/dataqualityfood.t index 8a4906a00d339..4876110c1c467 100644 --- a/tests/unit/dataqualityfood.t +++ b/tests/unit/dataqualityfood.t @@ -1018,6 +1018,31 @@ check_quality_and_test_product_has_quality_tag( '1 kcal = 4.184 kJ, value in kcal is between 165*3.7-2=608.5 and 165*4.7+2=777.5', 1 ); +# nutrition - saturated fat is greater than fat +## trigger the error because saturated-fat_100g is greated than fat +$product_ref = { + nutriments => { + fat_100g => 0, + "saturated-fat_100g" => 1, + } +}; +check_quality_and_test_product_has_quality_tag( + $product_ref, + 'en:nutrition-saturated-fat-greater-than-fat', + 'saturated fat greater than fat', 1 +); +## if undefined fat, error should not be triggered +$product_ref = { + nutriments => { + "saturated-fat_100g" => 1, + } +}; +check_quality_and_test_product_has_quality_tag( + $product_ref, + 'en:nutrition-saturated-fat-greater-than-fat', + 'saturated fat may be greater than fat but fat is missing', 0 +); + # category with expected nutriscore grade. Prerequisite: "expected_nutriscore_grade:en:c" under "en:Extra-virgin olive oils" category, in the taxonomy # category with expected nutriscore grade. Different nutriscore grade as compared to the expected nutriscore grade $product_ref = {