function it_returns_flat_data_with_media(ChannelInterface $channel, $channelManager, ProductInterface $product, ProductMediaInterface $media1, ProductMediaInterface $media2, ProductValueInterface $value1, ProductValueInterface $value2, AttributeInterface $attribute, $serializer) { $media1->getFilename()->willReturn('media_name'); $media1->getOriginalFilename()->willReturn('media_original_name'); $media2->getFilename()->willReturn('media_name'); $media2->getOriginalFilename()->willReturn('media_original_name'); $value1->getAttribute()->willReturn($attribute); $value1->getData()->willReturn($media1); $value2->getAttribute()->willReturn($attribute); $value2->getData()->willReturn($media2); $attribute->getAttributeType()->willReturn('pim_catalog_image'); $product->getValues()->willReturn([$value1, $value2]); $serializer->normalize([$media1, $media2], 'flat', ['field_name' => 'media', 'prepare_copy' => true])->willReturn(['normalized_media1', 'normalized_media2']); $serializer->normalize($product, 'flat', ['scopeCode' => 'foobar', 'localeCodes' => ''])->willReturn(['normalized_product']); $channelManager->getChannelByCode('foobar')->willReturn($channel); $this->setChannel('foobar'); $this->process($product)->shouldReturn(['media' => ['normalized_media1', 'normalized_media2'], 'product' => ['normalized_product']]); }
function it_returns_flat_data_with_media($serializer, $channelManager, $dateformatProvider, $numberFormatProvider, ChannelInterface $channel, ProductInterface $product, ProductMediaInterface $media1, ProductMediaInterface $media2, ProductValueInterface $value1, ProductValueInterface $value2, AttributeInterface $attribute) { $dateformatProvider->getFormat('en_US')->willReturn('n/j/y'); $numberFormatProvider->getFormat('en_US')->willReturn(['decimal_separator' => '.']); $this->configureOptions('en_US'); $media1->getFilename()->willReturn('media_name'); $media1->getOriginalFilename()->willReturn('media_original_name'); $media2->getFilename()->willReturn('media_name'); $media2->getOriginalFilename()->willReturn('media_original_name'); $value1->getAttribute()->willReturn($attribute); $value1->getData()->willReturn($media1); $value2->getAttribute()->willReturn($attribute); $value2->getData()->willReturn($media2); $attribute->getAttributeType()->willReturn('pim_catalog_image'); $product->getValues()->willReturn([$value1, $value2]); $serializer->normalize([$media1, $media2], 'flat', ['field_name' => 'media', 'prepare_copy' => true])->willReturn(['normalized_media1', 'normalized_media2']); $serializer->normalize($product, 'flat', ['scopeCode' => 'mobile', 'localeCodes' => '', 'decimal_separator' => '.', 'date_format' => 'n/j/y'])->willReturn(['normalized_product']); $channelManager->getChannelByCode('mobile')->willReturn($channel); $this->setChannelCode('mobile'); $this->process($product)->shouldReturn(['media' => ['normalized_media1', 'normalized_media2'], 'product' => ['normalized_product']]); }
/** * Predicate to know if file exists physically * * @param ProductMediaInterface $media * * @return bool */ protected function fileExists(ProductMediaInterface $media) { if (null === $media->getFilename()) { return false; } return $this->filesystem->has($media->getFilename()); }
function it_normalizes_media(ProductMediaInterface $media) { $media->getFilename()->willReturn('myfile.pdf'); $media->getOriginalFilename()->willReturn('myfile.pdf'); $this->normalize($media, 'mongodb_json', [])->shouldReturn(['filename' => 'myfile.pdf', 'originalFilename' => 'myfile.pdf']); }
function it_returns_null_if_media_does_not_exists_during_get_file_path(ProductMediaInterface $media) { $media->getFilename()->willReturn(null); $this->getFilePath($media, '/tmp/export/path/')->shouldReturn(null); }
function it_normalizes_media_by_keeping_the_media_filename(ProductMediaInterface $media) { $media->getFilename()->willReturn('foo.jpg'); $this->normalize($media, null, ['field_name' => 'front', 'versioning' => true])->shouldReturn(['front' => 'foo.jpg']); }