/** * Checks if the given completeness is in the given channel. * * @param AbstractCompleteness $completeness * @param Channel $channel * * @return bool */ protected function isInChannel(AbstractCompleteness $completeness, Channel $channel) { if ($completeness->getChannel()->getId() === $channel->getId()) { return true; } return false; }
function it_does_not_send_locales_which_are_not_complete(ProductInterface $product, Channel $channel, AbstractCompleteness $completeness1, AbstractCompleteness $completeness2, Locale $localeFr, Locale $localeEn) { $product->getCompletenesses()->willReturn([$completeness1, $completeness2]); $completeness1->getRatio()->willReturn(100); $completeness2->getRatio()->willReturn(90); $completeness1->getChannel()->willReturn($channel); $completeness1->getLocale()->willReturn($localeEn); $completeness2->getChannel()->willReturn($channel); $completeness2->getLocale()->willReturn($localeFr); $channel->getId()->willReturn(2); $this->apply($product, $channel)->shouldReturn([$localeEn]); }
function it_returns_only_products_in_the_given_channel(ProductInterface $product1, ProductInterface $product2, Channel $channel, ArrayCollection $productCategories1, ArrayCollection $productCategories2, ArrayCollection $completenesses, Category $rootCategory, Category $category1, Category $category2, AbstractCompleteness $completeness1, AbstractCompleteness $completeness2) { $channel->getCategory()->willReturn($rootCategory); $channel->getId()->willReturn(2); $rootCategory->getId()->willReturn(1); $product1->getCategories()->willReturn($productCategories1); $product2->getCategories()->willReturn($productCategories2); $product1->getCompletenesses()->willReturn($completenesses); $product2->getCompletenesses()->willReturn($completenesses); $completenesses->toArray()->willReturn([$completeness1, $completeness2]); $completeness1->getChannel()->willReturn($channel); $completeness2->getChannel()->willReturn($channel); $completeness1->getRatio()->willReturn(100); $completeness2->getRatio()->willReturn(100); $productCategories1->toArray()->willReturn([$category1]); $productCategories2->toArray()->willReturn([$category2]); $category1->getRoot()->willReturn(1); $category2->getRoot()->willReturn(5); $this->apply($channel, [$product1, $product2])->shouldReturn([$product1]); }