function it_marks_product_as_updated_when_a_product_metric_is_updated(EntityManager $em, UnitOfWork $uow, ProductInterface $product, ProductValueInterface $value, MetricInterface $metric)
 {
     $metric->getValue()->willReturn($value);
     $value->getEntity()->willReturn($product);
     $em->getUnitOfWork()->willReturn($uow);
     $uow->getEntityChangeSet($metric)->willReturn(['data' => ['20', '25']]);
     $this->guessUpdates($em, $metric, UpdateGuesserInterface::ACTION_UPDATE_ENTITY)->shouldReturn([$product]);
 }
 function it_returns_data_if_it_is_not_a_numeric(MetricInterface $metric, ProductValueInterface $productValue, AttributeInterface $attribute)
 {
     $metric->getValue()->willReturn($productValue);
     $productValue->getAttribute()->willReturn($attribute);
     $attribute->isDecimalsAllowed()->willReturn(false);
     $metric->getUnit()->willReturn('KILOGRAM');
     $metric->getData()->willReturn('a_metric_data');
     $this->normalize($metric, 'standard', ['is_decimals_allowed' => false])->shouldReturn(['amount' => 'a_metric_data', 'unit' => 'KILOGRAM']);
 }