Skip to content

Commit

Permalink
Merge pull request #12 from spryker-eco/feature/cc-10858/dev-categori…
Browse files Browse the repository at this point in the history
…es-per-store

CC-10858 Categories per store: Part 1
  • Loading branch information
Spryker Release Bot authored Feb 12, 2021
2 parents f43937e + 2d7b4b0 commit e38d763
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 11 deletions.
16 changes: 15 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
language: php
dist: trusty
os: linux
dist: bionic

notifications:
email: false
Expand Down Expand Up @@ -30,8 +31,21 @@ addons:
postgresql: "12"

apt:
sources:
- sourceline: ppa:chris-lea/redis-server
- sourceline: deb http://dl.bintray.com/rabbitmq-erlang/debian bionic erlang
key_url: https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
- sourceline: deb https://dl.bintray.com/rabbitmq/debian bionic main
key_url: https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
- sourceline: ppa:ondrej/php
packages:
- redis-tools
- redis-server
- rabbitmq-server
- graphviz
- postgresql-12
- postgresql-client-12
- postgresql-server-dev-12

hosts:
- zed.de.spryker.test
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"php": ">=7.3",
"psr/http-message": "^1.0.0",
"spryker-shop/shop-cms-slot-extension": "^1.0.0",
"spryker/category-storage": "^1.11.0",
"spryker/category-storage": "^1.11.0 || ^2.0.0",
"spryker/error-handler": "^2.1.3",
"spryker/guzzle": "^2.2.0",
"spryker/kernel": "^3.30.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

namespace SprykerEco\Yves\Coremedia\Dependency\Client;

use Generated\Shared\Transfer\CategoryNodeStorageTransfer;

class CoremediaToCategoryStorageClientBridge implements CoremediaToCategoryStorageClientInterface
{
/**
Expand All @@ -25,11 +27,11 @@ public function __construct($categoryStorageClient)
/**
* @param int $idCategoryNode
* @param string $localeName
* @param string|null $storeName
* @param string $storeName
*
* @return \Generated\Shared\Transfer\CategoryNodeStorageTransfer
*/
public function getCategoryNodeById($idCategoryNode, $localeName, ?string $storeName = null)
public function getCategoryNodeById(int $idCategoryNode, string $localeName, string $storeName): CategoryNodeStorageTransfer
{
return $this->categoryStorageClient->getCategoryNodeById($idCategoryNode, $localeName, $storeName);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@

namespace SprykerEco\Yves\Coremedia\Dependency\Client;

use Generated\Shared\Transfer\CategoryNodeStorageTransfer;

interface CoremediaToCategoryStorageClientInterface
{
/**
* @param int $idCategoryNode
* @param string $localeName
* @param string|null $storeName
* @param string $storeName
*
* @return \Generated\Shared\Transfer\CategoryNodeStorageTransfer
*/
public function getCategoryNodeById($idCategoryNode, $localeName, ?string $storeName = null);
public function getCategoryNodeById(int $idCategoryNode, string $localeName, string $storeName): CategoryNodeStorageTransfer;
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
use Generated\Shared\Transfer\MoneyTransfer;
use Generated\Shared\Transfer\MoneyValueTransfer;
use Generated\Shared\Transfer\PriceProductTransfer;
use Spryker\Zed\Search\Dependency\Service\SearchToUtilEncodingInterface;
use SprykerEco\Client\Coremedia\CoremediaClientInterface;
use SprykerEco\Yves\Coremedia\CoremediaConfig;
use SprykerEco\Yves\Coremedia\CoremediaFactory;
Expand All @@ -23,6 +22,7 @@
use SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToPriceProductClientInterface;
use SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToPriceProductStorageClientInterface;
use SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToProductStorageClientInterface;
use SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToStoreClientInterface;
use SprykerEco\Yves\Coremedia\Dependency\Service\CoremediaToUtilEncodingServiceInterface;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

Expand Down Expand Up @@ -153,6 +153,7 @@ public function testApiResponsePreparatorFailsOnIncorrectPlaceholdersData(string
]);

$categoryNodeStorageTransfer = $this->tester->getCategoryNodeStorageTransfer([]);
$categoryNodeStorageTransfer->setUrl(null);

$coreMediaApiResponseTransfer = $this->prepare(
$unprocessedCoremediaApiResponseTransfer,
Expand Down Expand Up @@ -197,14 +198,16 @@ protected function prepare(
$priceProductClient = $this->getPriceProductClientMock();
$moneyClient = $this->getMoneyClientMock();
$urlGenerator = $this->getUrlGeneratorMock($externalSeoSegment);
$storeClient = $this->getStoreClientMock();

$apiResponsePreparator = $this->getCoremediaFactoryMock(
$productStorageClient,
$categoryStorageClient,
$priceProductStorageClient,
$priceProductClient,
$moneyClient,
$urlGenerator
$urlGenerator,
$storeClient
)->createApiResponsePreparator();

return $apiResponsePreparator->prepare(
Expand All @@ -216,9 +219,9 @@ protected function prepare(
}

/**
* @return \Spryker\Zed\Search\Dependency\Service\SearchToUtilEncodingInterface|\PHPUnit\Framework\MockObject\MockObject
* @return \SprykerEco\Yves\Coremedia\Dependency\Service\CoremediaToUtilEncodingServiceInterface|\PHPUnit\Framework\MockObject\MockObject
*/
protected function getUtilEncodingMock(): SearchToUtilEncodingInterface
protected function getUtilEncodingMock(): CoremediaToUtilEncodingServiceInterface
{
$utilEncodingMock = $this->getMockBuilder(CoremediaToUtilEncodingServiceInterface::class)
->disableOriginalConstructor()
Expand Down Expand Up @@ -328,13 +331,28 @@ protected function getMoneyClientMock(): CoremediaToMoneyClientInterface
return $coreMediaToMoneyClientBridge;
}

/**
* @return \SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToStoreClientInterface|\PHPUnit\Framework\MockObject\MockObject
*/
protected function getStoreClientMock(): CoremediaToStoreClientInterface
{
$storeClientMock = $this->getMockBuilder(CoremediaToStoreClientInterface::class)->getMock();

$storeClientMock
->method('getCurrentStore')
->willReturn($this->tester->getLocator()->store()->client()->getCurrentStore());

return $storeClientMock;
}

/**
* @param \SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToProductStorageClientInterface $productStorageClient
* @param \SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToCategoryStorageClientInterface $categoryStorageClient
* @param \SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToPriceProductStorageClientInterface $priceProductStorageClient
* @param \SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToPriceProductClientInterface $priceProductClient
* @param \SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToMoneyClientInterface $moneyClient
* @param \Symfony\Component\Routing\Generator\UrlGeneratorInterface $urlGenerator
* @param \SprykerEco\Yves\Coremedia\Dependency\Client\CoremediaToStoreClientInterface $storeClient
*
* @return \PHPUnit\Framework\MockObject\MockObject|\SprykerEco\Yves\Coremedia\CoremediaFactory
*/
Expand All @@ -344,7 +362,8 @@ protected function getCoremediaFactoryMock(
CoremediaToPriceProductStorageClientInterface $priceProductStorageClient,
CoremediaToPriceProductClientInterface $priceProductClient,
CoremediaToMoneyClientInterface $moneyClient,
UrlGeneratorInterface $urlGenerator
UrlGeneratorInterface $urlGenerator,
CoremediaToStoreClientInterface $storeClient
): CoremediaFactory {
$coreMediaFactoryMock = $this->getMockBuilder(CoremediaFactory::class)
->setMethods([
Expand All @@ -356,6 +375,7 @@ protected function getCoremediaFactoryMock(
'getPriceProductClient',
'getMoneyClient',
'getUrlGenerator',
'getStoreClient',
])->getMock();

$coreMediaFactoryMock->method('getConfig')->willReturn(
Expand All @@ -370,6 +390,7 @@ protected function getCoremediaFactoryMock(
$coreMediaFactoryMock->method('getPriceProductClient')->willReturn($priceProductClient);
$coreMediaFactoryMock->method('getMoneyClient')->willReturn($moneyClient);
$coreMediaFactoryMock->method('getUrlGenerator')->willReturn($urlGenerator);
$coreMediaFactoryMock->method('getStoreClient')->willReturn($storeClient);

return $coreMediaFactoryMock;
}
Expand Down

0 comments on commit e38d763

Please sign in to comment.