function it_normalizes_value_with_collection_data(SerializerInterface $serializer, ProductValueInterface $value, AttributeInterface $attribute) { $serializer->implement('Symfony\\Component\\Serializer\\Normalizer\\NormalizerInterface'); $this->setSerializer($serializer); $attribute->getCode()->willReturn('code'); $attribute->isLocalizable()->willReturn(false); $attribute->isScopable()->willReturn(false); $price = new ProductPrice(); $price->setData(42); $price->setCurrency('EUR'); $collection = new ArrayCollection([$price]); $value->getData()->willReturn($collection); $value->getAttribute()->willReturn($attribute); $serializer->normalize($price, 'mongodb_json', [])->willReturn(['data' => 42, 'currency' => 'EUR']); $this->normalize($value, 'mongodb_json', [])->shouldReturn(['code' => ['EUR' => ['data' => 42, 'currency' => 'EUR']]]); }