function it_normalizes_a_price_into_mongodb_document($mongoFactory, ProductPrice $price, \MongoId $mongoId) { $mongoFactory->createMongoId()->willReturn($mongoId); $price->getCurrency()->willReturn('USD'); $price->getData()->willReturn(9.99); $this->normalize($price, 'mongodb_document')->shouldReturn(['_id' => $mongoId, 'currency' => 'USD', 'data' => 9.99]); }
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']]]); }