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']); }