From 277e6e805701b93122c0c42a5e4bc7dea75384ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Szyma=C5=84ski?= Date: Thu, 5 Oct 2017 13:50:04 +0200 Subject: [PATCH 1/7] Add Services for Default Stock manipulation --- .../Api/DefaultSourceRepositoryInterface.php | 26 ++++++++++++ .../Api/DefaultStockRepositoryInterface.php | 26 ++++++++++++ .../Model/DefaultSourceRepository.php | 41 +++++++++++++++++++ .../Model/DefaultStockRepository.php | 41 +++++++++++++++++++ .../InventoryCatalog/Setup/InstallData.php | 8 ++-- .../Test/Api/GetDefaultSourceTest.php | 8 ++-- .../Test/Api/GetDefaultStockTest.php | 8 ++-- .../Api/GetDefaultStockToSourceLinkTest.php | 10 ++--- app/code/Magento/InventoryCatalog/etc/di.xml | 11 +++++ 9 files changed, 163 insertions(+), 16 deletions(-) create mode 100644 app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php create mode 100644 app/code/Magento/InventoryCatalog/Api/DefaultStockRepositoryInterface.php create mode 100644 app/code/Magento/InventoryCatalog/Model/DefaultSourceRepository.php create mode 100644 app/code/Magento/InventoryCatalog/Model/DefaultStockRepository.php create mode 100644 app/code/Magento/InventoryCatalog/etc/di.xml diff --git a/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php b/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php new file mode 100644 index 000000000000..e788059449fb --- /dev/null +++ b/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php @@ -0,0 +1,26 @@ +commandGet = $commandGet; + } + + /** + * Get default stock + * + * @return SourceInterface + */ + public function get(): SourceInterface + { + return $this->commandGet->execute(DefaultSourceRepositoryInterface::DEFAULT_SOURCE); + } +} diff --git a/app/code/Magento/InventoryCatalog/Model/DefaultStockRepository.php b/app/code/Magento/InventoryCatalog/Model/DefaultStockRepository.php new file mode 100644 index 000000000000..e66c0da1caff --- /dev/null +++ b/app/code/Magento/InventoryCatalog/Model/DefaultStockRepository.php @@ -0,0 +1,41 @@ +commandGet = $commandGet; + } + + /** + * Get default stock + * + * @return StockInterface + */ + public function get(): StockInterface + { + return $this->commandGet->execute(DefaultStockRepositoryInterface::DEFAULT_STOCK); + } +} diff --git a/app/code/Magento/InventoryCatalog/Setup/InstallData.php b/app/code/Magento/InventoryCatalog/Setup/InstallData.php index 2613297f0ff4..b16926a318cb 100644 --- a/app/code/Magento/InventoryCatalog/Setup/InstallData.php +++ b/app/code/Magento/InventoryCatalog/Setup/InstallData.php @@ -17,6 +17,8 @@ use Magento\InventoryApi\Api\StockRepositoryInterface; use Magento\InventoryApi\Api\AssignSourcesToStockInterface; use Magento\Framework\Api\DataObjectHelper; +use Magento\InventoryCatalog\Api\DefaultSourceRepositoryInterface; +use Magento\InventoryCatalog\Api\DefaultStockRepositoryInterface; /** * Install Default Source, Stock and link them together @@ -96,7 +98,7 @@ public function install(ModuleDataSetupInterface $setup, ModuleContextInterface private function addDefaultSource() { $data = [ - SourceInterface::SOURCE_ID => 1, + SourceInterface::SOURCE_ID => DefaultSourceRepositoryInterface::DEFAULT_SOURCE, SourceInterface::NAME => 'Default Source', SourceInterface::ENABLED => 1, SourceInterface::DESCRIPTION => 'Default Source', @@ -119,7 +121,7 @@ private function addDefaultSource() private function addDefaultStock() { $data = [ - StockInterface::STOCK_ID => 1, + StockInterface::STOCK_ID => DefaultStockRepositoryInterface::DEFAULT_STOCK, StockInterface::NAME => 'Default Stock' ]; $source = $this->stockFactory->create(); @@ -134,6 +136,6 @@ private function addDefaultStock() */ private function assignStockToSource() { - $this->assignSourcesToStock->execute([1], 1); + $this->assignSourcesToStock->execute([DefaultSourceRepositoryInterface::DEFAULT_SOURCE], DefaultStockRepositoryInterface::DEFAULT_STOCK); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php index 492b747c4328..48cae8dbda03 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php @@ -7,6 +7,7 @@ namespace Magento\InventoryCatalog\Test\Api; use Magento\InventoryApi\Api\Data\SourceInterface; +use Magento\InventoryCatalog\Api\DefaultSourceRepositoryInterface; use Magento\TestFramework\TestCase\WebapiAbstract; use Magento\Framework\Webapi\Rest\Request; @@ -20,10 +21,9 @@ class GetDefaultSourceTest extends WebapiAbstract */ public function testGetDefaultSource() { - $defaultSourceId = 1; $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/inventory/source/' . $defaultSourceId, + 'resourcePath' => '/V1/inventory/source/' . DefaultSourceRepositoryInterface::DEFAULT_SOURCE, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ @@ -34,8 +34,8 @@ public function testGetDefaultSource() if (self::ADAPTER_REST == TESTS_WEB_API_ADAPTER) { $source = $this->_webApiCall($serviceInfo); } else { - $source = $this->_webApiCall($serviceInfo, ['sourceId' => $defaultSourceId]); + $source = $this->_webApiCall($serviceInfo, ['sourceId' => DefaultSourceRepositoryInterface::DEFAULT_SOURCE]); } - $this->assertEquals($defaultSourceId, $source[SourceInterface::SOURCE_ID]); + $this->assertEquals(DefaultSourceRepositoryInterface::DEFAULT_SOURCE, $source[SourceInterface::SOURCE_ID]); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php index 558cef20edf9..86954f7cab1c 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php @@ -7,6 +7,7 @@ namespace Magento\InventoryCatalog\Test\Api; use Magento\InventoryApi\Api\Data\StockInterface; +use Magento\InventoryCatalog\Api\DefaultStockRepositoryInterface; use Magento\TestFramework\TestCase\WebapiAbstract; use Magento\Framework\Webapi\Rest\Request; @@ -20,10 +21,9 @@ class GetDefaultStockTest extends WebapiAbstract */ public function testGetDefaultSource() { - $defaultStockId = 1; $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/inventory/stock/' . $defaultStockId, + 'resourcePath' => '/V1/inventory/stock/' . DefaultStockRepositoryInterface::DEFAULT_STOCK, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ @@ -34,8 +34,8 @@ public function testGetDefaultSource() if (self::ADAPTER_REST == TESTS_WEB_API_ADAPTER) { $stock = $this->_webApiCall($serviceInfo); } else { - $stock = $this->_webApiCall($serviceInfo, ['stockId' => $defaultStockId]); + $stock = $this->_webApiCall($serviceInfo, ['stockId' => DefaultStockRepositoryInterface::DEFAULT_STOCK]); } - $this->assertEquals($defaultStockId, $stock[StockInterface::STOCK_ID]); + $this->assertEquals(DefaultStockRepositoryInterface::DEFAULT_STOCK, $stock[StockInterface::STOCK_ID]); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php index b1bca75c82bd..6343b36105e4 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php @@ -7,6 +7,8 @@ namespace Magento\InventoryCatalog\Test\Api; use Magento\InventoryApi\Api\Data\SourceInterface; +use Magento\InventoryCatalog\Api\DefaultSourceRepositoryInterface; +use Magento\InventoryCatalog\Api\DefaultStockRepositoryInterface; use Magento\TestFramework\TestCase\WebapiAbstract; use Magento\Framework\Webapi\Rest\Request; @@ -20,11 +22,9 @@ class GetDefaultStockToSourceLinkTest extends WebapiAbstract */ public function testGetDefaultStockToSourceLink() { - $defaultStockId = 1; - $defaultSourceId = 1; $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/inventory/stock/get-assigned-sources/' . $defaultStockId, + 'resourcePath' => '/V1/inventory/stock/get-assigned-sources/' . DefaultStockRepositoryInterface::DEFAULT_STOCK, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ @@ -35,8 +35,8 @@ public function testGetDefaultStockToSourceLink() if (self::ADAPTER_REST == TESTS_WEB_API_ADAPTER) { $source = $this->_webApiCall($serviceInfo); } else { - $source = $this->_webApiCall($serviceInfo, ['stockId' => $defaultStockId]); + $source = $this->_webApiCall($serviceInfo, ['stockId' => DefaultStockRepositoryInterface::DEFAULT_STOCK]); } - $this->assertEquals([$defaultSourceId], array_column($source, SourceInterface::SOURCE_ID)); + $this->assertEquals([DefaultSourceRepositoryInterface::DEFAULT_SOURCE], array_column($source, SourceInterface::SOURCE_ID)); } } diff --git a/app/code/Magento/InventoryCatalog/etc/di.xml b/app/code/Magento/InventoryCatalog/etc/di.xml new file mode 100644 index 000000000000..0e90d73719fd --- /dev/null +++ b/app/code/Magento/InventoryCatalog/etc/di.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file From ea396064df22f3b8658bd021af5fb8f70fa630d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Szyma=C5=84ski?= Date: Thu, 5 Oct 2017 13:52:06 +0200 Subject: [PATCH 2/7] format --- .../InventoryCatalog/Api/DefaultSourceRepositoryInterface.php | 2 +- .../InventoryCatalog/Api/DefaultStockRepositoryInterface.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php b/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php index e788059449fb..d3911c27a778 100644 --- a/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php +++ b/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php @@ -23,4 +23,4 @@ interface DefaultSourceRepositoryInterface * @return SourceInterface */ public function get(): SourceInterface; -} \ No newline at end of file +} diff --git a/app/code/Magento/InventoryCatalog/Api/DefaultStockRepositoryInterface.php b/app/code/Magento/InventoryCatalog/Api/DefaultStockRepositoryInterface.php index 58a1e86b5d1a..e0e0569d6b97 100644 --- a/app/code/Magento/InventoryCatalog/Api/DefaultStockRepositoryInterface.php +++ b/app/code/Magento/InventoryCatalog/Api/DefaultStockRepositoryInterface.php @@ -23,4 +23,4 @@ interface DefaultStockRepositoryInterface * @return StockInterface */ public function get(): StockInterface; -} \ No newline at end of file +} From 0ab6ea37eec896a0156d453bfeae51abb4369f43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Szyma=C5=84ski?= Date: Thu, 5 Oct 2017 15:55:16 +0200 Subject: [PATCH 3/7] format --- .../Magento/InventoryCatalog/Setup/InstallData.php | 5 ++++- .../Test/Api/GetDefaultSourceTest.php | 12 ++++++++++-- .../Test/Api/GetDefaultStockToSourceLinkTest.php | 8 ++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/InventoryCatalog/Setup/InstallData.php b/app/code/Magento/InventoryCatalog/Setup/InstallData.php index b16926a318cb..16e4fb434fb5 100644 --- a/app/code/Magento/InventoryCatalog/Setup/InstallData.php +++ b/app/code/Magento/InventoryCatalog/Setup/InstallData.php @@ -136,6 +136,9 @@ private function addDefaultStock() */ private function assignStockToSource() { - $this->assignSourcesToStock->execute([DefaultSourceRepositoryInterface::DEFAULT_SOURCE], DefaultStockRepositoryInterface::DEFAULT_STOCK); + $this->assignSourcesToStock->execute( + [DefaultSourceRepositoryInterface::DEFAULT_SOURCE], + DefaultStockRepositoryInterface::DEFAULT_STOCK + ); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php index 48cae8dbda03..7556af3614ba 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php @@ -34,8 +34,16 @@ public function testGetDefaultSource() if (self::ADAPTER_REST == TESTS_WEB_API_ADAPTER) { $source = $this->_webApiCall($serviceInfo); } else { - $source = $this->_webApiCall($serviceInfo, ['sourceId' => DefaultSourceRepositoryInterface::DEFAULT_SOURCE]); + $source = $this->_webApiCall( + $serviceInfo, + [ + 'sourceId' => DefaultSourceRepositoryInterface::DEFAULT_SOURCE + ] + ); } - $this->assertEquals(DefaultSourceRepositoryInterface::DEFAULT_SOURCE, $source[SourceInterface::SOURCE_ID]); + $this->assertEquals( + DefaultSourceRepositoryInterface::DEFAULT_SOURCE, + $source[SourceInterface::SOURCE_ID] + ); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php index 6343b36105e4..373da50f24e4 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php @@ -24,7 +24,8 @@ public function testGetDefaultStockToSourceLink() { $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/inventory/stock/get-assigned-sources/' . DefaultStockRepositoryInterface::DEFAULT_STOCK, + 'resourcePath' => '/V1/inventory/stock/get-assigned-sources/' . + DefaultStockRepositoryInterface::DEFAULT_STOCK, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ @@ -37,6 +38,9 @@ public function testGetDefaultStockToSourceLink() } else { $source = $this->_webApiCall($serviceInfo, ['stockId' => DefaultStockRepositoryInterface::DEFAULT_STOCK]); } - $this->assertEquals([DefaultSourceRepositoryInterface::DEFAULT_SOURCE], array_column($source, SourceInterface::SOURCE_ID)); + $this->assertEquals( + [DefaultSourceRepositoryInterface::DEFAULT_SOURCE], + array_column($source, SourceInterface::SOURCE_ID) + ); } } From 79065c36fc37441fe83730408d4cd56a45d2ce5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Szyma=C5=84ski?= Date: Fri, 6 Oct 2017 14:06:13 +0200 Subject: [PATCH 4/7] rename and refactoring --- .../Api/DefaultSourceRepositoryInterface.php | 26 ------------ .../Api/DefaultSourceResolverInterface.php | 22 ++++++++++ ....php => DefaultStockResolverInterface.php} | 9 ++-- .../Model/DefaultSourceRepository.php | 41 ------------------- .../Model/DefaultSourceResolver.php | 26 ++++++++++++ .../Model/DefaultStockRepository.php | 41 ------------------- .../Model/DefaultStockResolver.php | 26 ++++++++++++ .../InventoryCatalog/Setup/InstallData.php | 30 ++++++++++---- .../Test/Api/GetDefaultSourceTest.php | 16 ++------ .../Test/Api/GetDefaultStockTest.php | 8 ++-- .../Api/GetDefaultStockToSourceLinkTest.php | 14 +++---- app/code/Magento/InventoryCatalog/etc/di.xml | 4 +- 12 files changed, 115 insertions(+), 148 deletions(-) delete mode 100644 app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php create mode 100644 app/code/Magento/InventoryCatalog/Api/DefaultSourceResolverInterface.php rename app/code/Magento/InventoryCatalog/Api/{DefaultStockRepositoryInterface.php => DefaultStockResolverInterface.php} (55%) delete mode 100644 app/code/Magento/InventoryCatalog/Model/DefaultSourceRepository.php create mode 100644 app/code/Magento/InventoryCatalog/Model/DefaultSourceResolver.php delete mode 100644 app/code/Magento/InventoryCatalog/Model/DefaultStockRepository.php create mode 100644 app/code/Magento/InventoryCatalog/Model/DefaultStockResolver.php diff --git a/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php b/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php deleted file mode 100644 index d3911c27a778..000000000000 --- a/app/code/Magento/InventoryCatalog/Api/DefaultSourceRepositoryInterface.php +++ /dev/null @@ -1,26 +0,0 @@ -commandGet = $commandGet; - } - - /** - * Get default stock - * - * @return SourceInterface - */ - public function get(): SourceInterface - { - return $this->commandGet->execute(DefaultSourceRepositoryInterface::DEFAULT_SOURCE); - } -} diff --git a/app/code/Magento/InventoryCatalog/Model/DefaultSourceResolver.php b/app/code/Magento/InventoryCatalog/Model/DefaultSourceResolver.php new file mode 100644 index 000000000000..304b71f8da9c --- /dev/null +++ b/app/code/Magento/InventoryCatalog/Model/DefaultSourceResolver.php @@ -0,0 +1,26 @@ +commandGet = $commandGet; - } - - /** - * Get default stock - * - * @return StockInterface - */ - public function get(): StockInterface - { - return $this->commandGet->execute(DefaultStockRepositoryInterface::DEFAULT_STOCK); - } -} diff --git a/app/code/Magento/InventoryCatalog/Model/DefaultStockResolver.php b/app/code/Magento/InventoryCatalog/Model/DefaultStockResolver.php new file mode 100644 index 000000000000..6a38b525fe13 --- /dev/null +++ b/app/code/Magento/InventoryCatalog/Model/DefaultStockResolver.php @@ -0,0 +1,26 @@ +sourceRepository = $sourceRepository; $this->sourceFactory = $sourceFactory; @@ -77,6 +91,8 @@ public function __construct( $this->stockFactory = $stockFactory; $this->assignSourcesToStock = $assignSourcesToStock; $this->dataObjectHelper = $dataObjectHelper; + $this->defaultSourceResolver = $defaultSourceResolver; + $this->defaultStockResolver = $defaultStockResolver; } /** @@ -98,7 +114,7 @@ public function install(ModuleDataSetupInterface $setup, ModuleContextInterface private function addDefaultSource() { $data = [ - SourceInterface::SOURCE_ID => DefaultSourceRepositoryInterface::DEFAULT_SOURCE, + SourceInterface::SOURCE_ID => $this->defaultSourceResolver->getId(), SourceInterface::NAME => 'Default Source', SourceInterface::ENABLED => 1, SourceInterface::DESCRIPTION => 'Default Source', @@ -121,7 +137,7 @@ private function addDefaultSource() private function addDefaultStock() { $data = [ - StockInterface::STOCK_ID => DefaultStockRepositoryInterface::DEFAULT_STOCK, + StockInterface::STOCK_ID => $this->defaultStockResolver->getId(), StockInterface::NAME => 'Default Stock' ]; $source = $this->stockFactory->create(); @@ -137,8 +153,8 @@ private function addDefaultStock() private function assignStockToSource() { $this->assignSourcesToStock->execute( - [DefaultSourceRepositoryInterface::DEFAULT_SOURCE], - DefaultStockRepositoryInterface::DEFAULT_STOCK + [$this->defaultSourceResolver->getId()], + $this->defaultStockResolver->getId() ); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php index 7556af3614ba..492b747c4328 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultSourceTest.php @@ -7,7 +7,6 @@ namespace Magento\InventoryCatalog\Test\Api; use Magento\InventoryApi\Api\Data\SourceInterface; -use Magento\InventoryCatalog\Api\DefaultSourceRepositoryInterface; use Magento\TestFramework\TestCase\WebapiAbstract; use Magento\Framework\Webapi\Rest\Request; @@ -21,9 +20,10 @@ class GetDefaultSourceTest extends WebapiAbstract */ public function testGetDefaultSource() { + $defaultSourceId = 1; $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/inventory/source/' . DefaultSourceRepositoryInterface::DEFAULT_SOURCE, + 'resourcePath' => '/V1/inventory/source/' . $defaultSourceId, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ @@ -34,16 +34,8 @@ public function testGetDefaultSource() if (self::ADAPTER_REST == TESTS_WEB_API_ADAPTER) { $source = $this->_webApiCall($serviceInfo); } else { - $source = $this->_webApiCall( - $serviceInfo, - [ - 'sourceId' => DefaultSourceRepositoryInterface::DEFAULT_SOURCE - ] - ); + $source = $this->_webApiCall($serviceInfo, ['sourceId' => $defaultSourceId]); } - $this->assertEquals( - DefaultSourceRepositoryInterface::DEFAULT_SOURCE, - $source[SourceInterface::SOURCE_ID] - ); + $this->assertEquals($defaultSourceId, $source[SourceInterface::SOURCE_ID]); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php index 86954f7cab1c..558cef20edf9 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockTest.php @@ -7,7 +7,6 @@ namespace Magento\InventoryCatalog\Test\Api; use Magento\InventoryApi\Api\Data\StockInterface; -use Magento\InventoryCatalog\Api\DefaultStockRepositoryInterface; use Magento\TestFramework\TestCase\WebapiAbstract; use Magento\Framework\Webapi\Rest\Request; @@ -21,9 +20,10 @@ class GetDefaultStockTest extends WebapiAbstract */ public function testGetDefaultSource() { + $defaultStockId = 1; $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/inventory/stock/' . DefaultStockRepositoryInterface::DEFAULT_STOCK, + 'resourcePath' => '/V1/inventory/stock/' . $defaultStockId, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ @@ -34,8 +34,8 @@ public function testGetDefaultSource() if (self::ADAPTER_REST == TESTS_WEB_API_ADAPTER) { $stock = $this->_webApiCall($serviceInfo); } else { - $stock = $this->_webApiCall($serviceInfo, ['stockId' => DefaultStockRepositoryInterface::DEFAULT_STOCK]); + $stock = $this->_webApiCall($serviceInfo, ['stockId' => $defaultStockId]); } - $this->assertEquals(DefaultStockRepositoryInterface::DEFAULT_STOCK, $stock[StockInterface::STOCK_ID]); + $this->assertEquals($defaultStockId, $stock[StockInterface::STOCK_ID]); } } diff --git a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php index 373da50f24e4..b1bca75c82bd 100644 --- a/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php +++ b/app/code/Magento/InventoryCatalog/Test/Api/GetDefaultStockToSourceLinkTest.php @@ -7,8 +7,6 @@ namespace Magento\InventoryCatalog\Test\Api; use Magento\InventoryApi\Api\Data\SourceInterface; -use Magento\InventoryCatalog\Api\DefaultSourceRepositoryInterface; -use Magento\InventoryCatalog\Api\DefaultStockRepositoryInterface; use Magento\TestFramework\TestCase\WebapiAbstract; use Magento\Framework\Webapi\Rest\Request; @@ -22,10 +20,11 @@ class GetDefaultStockToSourceLinkTest extends WebapiAbstract */ public function testGetDefaultStockToSourceLink() { + $defaultStockId = 1; + $defaultSourceId = 1; $serviceInfo = [ 'rest' => [ - 'resourcePath' => '/V1/inventory/stock/get-assigned-sources/' . - DefaultStockRepositoryInterface::DEFAULT_STOCK, + 'resourcePath' => '/V1/inventory/stock/get-assigned-sources/' . $defaultStockId, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ @@ -36,11 +35,8 @@ public function testGetDefaultStockToSourceLink() if (self::ADAPTER_REST == TESTS_WEB_API_ADAPTER) { $source = $this->_webApiCall($serviceInfo); } else { - $source = $this->_webApiCall($serviceInfo, ['stockId' => DefaultStockRepositoryInterface::DEFAULT_STOCK]); + $source = $this->_webApiCall($serviceInfo, ['stockId' => $defaultStockId]); } - $this->assertEquals( - [DefaultSourceRepositoryInterface::DEFAULT_SOURCE], - array_column($source, SourceInterface::SOURCE_ID) - ); + $this->assertEquals([$defaultSourceId], array_column($source, SourceInterface::SOURCE_ID)); } } diff --git a/app/code/Magento/InventoryCatalog/etc/di.xml b/app/code/Magento/InventoryCatalog/etc/di.xml index 0e90d73719fd..f73fe6b4f4e2 100644 --- a/app/code/Magento/InventoryCatalog/etc/di.xml +++ b/app/code/Magento/InventoryCatalog/etc/di.xml @@ -6,6 +6,6 @@ */ --> - - + + \ No newline at end of file From 38a59476a7d500667e9063dc0fc37f7baa8d3976 Mon Sep 17 00:00:00 2001 From: Igor Miniailo Date: Fri, 6 Oct 2017 15:58:27 +0300 Subject: [PATCH 5/7] MSI: #121 Add Services for Default Stock manipulation. Fix naming --- ...ce.php => DefaultSourceProviderInterface.php} | 7 +++---- ...ace.php => DefaultStockProviderInterface.php} | 6 +++--- ...rceResolver.php => DefaultSourceProvider.php} | 11 ++++------- ...tockResolver.php => DefaultStockProvider.php} | 11 ++++------- .../InventoryCatalog/Setup/InstallData.php | 16 ++++++++-------- 5 files changed, 22 insertions(+), 29 deletions(-) rename app/code/Magento/InventoryCatalog/Api/{DefaultStockResolverInterface.php => DefaultSourceProviderInterface.php} (69%) rename app/code/Magento/InventoryCatalog/Api/{DefaultSourceResolverInterface.php => DefaultStockProviderInterface.php} (70%) rename app/code/Magento/InventoryCatalog/Model/{DefaultSourceResolver.php => DefaultSourceProvider.php} (53%) rename app/code/Magento/InventoryCatalog/Model/{DefaultStockResolver.php => DefaultStockProvider.php} (53%) diff --git a/app/code/Magento/InventoryCatalog/Api/DefaultStockResolverInterface.php b/app/code/Magento/InventoryCatalog/Api/DefaultSourceProviderInterface.php similarity index 69% rename from app/code/Magento/InventoryCatalog/Api/DefaultStockResolverInterface.php rename to app/code/Magento/InventoryCatalog/Api/DefaultSourceProviderInterface.php index 84915e8d4620..47d798dccaf5 100644 --- a/app/code/Magento/InventoryCatalog/Api/DefaultStockResolverInterface.php +++ b/app/code/Magento/InventoryCatalog/Api/DefaultSourceProviderInterface.php @@ -7,15 +7,14 @@ namespace Magento\InventoryCatalog\Api; /** - * Represents default stock + * Service returns Default Source Id * * @api */ -interface DefaultStockResolverInterface +interface DefaultSourceProviderInterface { - /** - * Get default stock + * Get Default Source id * * @return int */ diff --git a/app/code/Magento/InventoryCatalog/Api/DefaultSourceResolverInterface.php b/app/code/Magento/InventoryCatalog/Api/DefaultStockProviderInterface.php similarity index 70% rename from app/code/Magento/InventoryCatalog/Api/DefaultSourceResolverInterface.php rename to app/code/Magento/InventoryCatalog/Api/DefaultStockProviderInterface.php index 5a951352f7e1..56eae7f02a88 100644 --- a/app/code/Magento/InventoryCatalog/Api/DefaultSourceResolverInterface.php +++ b/app/code/Magento/InventoryCatalog/Api/DefaultStockProviderInterface.php @@ -7,14 +7,14 @@ namespace Magento\InventoryCatalog\Api; /** - * Represents default source + * Service returns Default Stock Id * * @api */ -interface DefaultSourceResolverInterface +interface DefaultStockProviderInterface { /** - * Get default source id + * Get Default Stock Id * * @return int */ diff --git a/app/code/Magento/InventoryCatalog/Model/DefaultSourceResolver.php b/app/code/Magento/InventoryCatalog/Model/DefaultSourceProvider.php similarity index 53% rename from app/code/Magento/InventoryCatalog/Model/DefaultSourceResolver.php rename to app/code/Magento/InventoryCatalog/Model/DefaultSourceProvider.php index 304b71f8da9c..d6d547a7068b 100644 --- a/app/code/Magento/InventoryCatalog/Model/DefaultSourceResolver.php +++ b/app/code/Magento/InventoryCatalog/Model/DefaultSourceProvider.php @@ -6,21 +6,18 @@ namespace Magento\InventoryCatalog\Model; -use Magento\InventoryCatalog\Api\DefaultSourceResolverInterface; +use Magento\InventoryCatalog\Api\DefaultSourceProviderInterface; /** - * Class DefaultSourceResolver + * Service returns Default Source Id */ -class DefaultSourceResolver implements DefaultSourceResolverInterface +class DefaultSourceProvider implements DefaultSourceProviderInterface { /** - * Get default source id - * - * @return int + * @inheritdoc */ public function getId(): int { return 1; } - } diff --git a/app/code/Magento/InventoryCatalog/Model/DefaultStockResolver.php b/app/code/Magento/InventoryCatalog/Model/DefaultStockProvider.php similarity index 53% rename from app/code/Magento/InventoryCatalog/Model/DefaultStockResolver.php rename to app/code/Magento/InventoryCatalog/Model/DefaultStockProvider.php index 6a38b525fe13..33d9e085a623 100644 --- a/app/code/Magento/InventoryCatalog/Model/DefaultStockResolver.php +++ b/app/code/Magento/InventoryCatalog/Model/DefaultStockProvider.php @@ -6,21 +6,18 @@ namespace Magento\InventoryCatalog\Model; -use Magento\InventoryCatalog\Api\DefaultStockResolverInterface; +use Magento\InventoryCatalog\Api\DefaultStockProviderInterface; /** - * Class DefaultStockRepository + * Service returns Default Stock Id */ -class DefaultStockResolver implements DefaultStockResolverInterface +class DefaultStockProvider implements DefaultStockProviderInterface { /** - * Get default stock - * - * @return int + * @inheritdoc */ public function getId(): int { return 1; } - } diff --git a/app/code/Magento/InventoryCatalog/Setup/InstallData.php b/app/code/Magento/InventoryCatalog/Setup/InstallData.php index f175a4f453dd..917261d79ae5 100644 --- a/app/code/Magento/InventoryCatalog/Setup/InstallData.php +++ b/app/code/Magento/InventoryCatalog/Setup/InstallData.php @@ -17,8 +17,8 @@ use Magento\InventoryApi\Api\StockRepositoryInterface; use Magento\InventoryApi\Api\AssignSourcesToStockInterface; use Magento\Framework\Api\DataObjectHelper; -use Magento\InventoryCatalog\Api\DefaultSourceResolverInterface; -use Magento\InventoryCatalog\Api\DefaultStockResolverInterface; +use Magento\InventoryCatalog\Api\DefaultSourceProviderInterface; +use Magento\InventoryCatalog\Api\DefaultStockProviderInterface; /** * Install Default Source, Stock and link them together @@ -56,12 +56,12 @@ class InstallData implements InstallDataInterface private $assignSourcesToStock; /** - * @var DefaultSourceResolverInterface + * @var DefaultSourceProviderInterface */ private $defaultSourceResolver; /** - * @var DefaultStockResolverInterface + * @var DefaultStockProviderInterface */ private $defaultStockResolver; @@ -72,8 +72,8 @@ class InstallData implements InstallDataInterface * @param StockInterfaceFactory $stockFactory * @param AssignSourcesToStockInterface $assignSourcesToStock * @param DataObjectHelper $dataObjectHelper - * @param DefaultSourceResolverInterface $defaultSourceResolver - * @param DefaultStockResolverInterface $defaultStockResolver + * @param DefaultSourceProviderInterface $defaultSourceResolver + * @param DefaultStockProviderInterface $defaultStockResolver */ public function __construct( SourceRepositoryInterface $sourceRepository, @@ -82,8 +82,8 @@ public function __construct( StockInterfaceFactory $stockFactory, AssignSourcesToStockInterface $assignSourcesToStock, DataObjectHelper $dataObjectHelper, - DefaultSourceResolverInterface $defaultSourceResolver, - DefaultStockResolverInterface $defaultStockResolver + DefaultSourceProviderInterface $defaultSourceResolver, + DefaultStockProviderInterface $defaultStockResolver ) { $this->sourceRepository = $sourceRepository; $this->sourceFactory = $sourceFactory; From ea9f63ee46a142b67e0087c8ed5d905eca6e4d45 Mon Sep 17 00:00:00 2001 From: Igor Miniailo Date: Fri, 6 Oct 2017 16:04:03 +0300 Subject: [PATCH 6/7] MSI: #121 Add Services for Default Stock manipulation. Fix naming --- .../InventoryCatalog/Setup/InstallData.php | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/code/Magento/InventoryCatalog/Setup/InstallData.php b/app/code/Magento/InventoryCatalog/Setup/InstallData.php index 917261d79ae5..5958f41d0e58 100644 --- a/app/code/Magento/InventoryCatalog/Setup/InstallData.php +++ b/app/code/Magento/InventoryCatalog/Setup/InstallData.php @@ -58,12 +58,12 @@ class InstallData implements InstallDataInterface /** * @var DefaultSourceProviderInterface */ - private $defaultSourceResolver; + private $defaultSourceProvider; /** * @var DefaultStockProviderInterface */ - private $defaultStockResolver; + private $defaultStockProvider; /** * @param SourceRepositoryInterface $sourceRepository @@ -72,8 +72,8 @@ class InstallData implements InstallDataInterface * @param StockInterfaceFactory $stockFactory * @param AssignSourcesToStockInterface $assignSourcesToStock * @param DataObjectHelper $dataObjectHelper - * @param DefaultSourceProviderInterface $defaultSourceResolver - * @param DefaultStockProviderInterface $defaultStockResolver + * @param DefaultSourceProviderInterface $defaultSourceProvider + * @param DefaultStockProviderInterface $defaultStockProvider */ public function __construct( SourceRepositoryInterface $sourceRepository, @@ -82,8 +82,8 @@ public function __construct( StockInterfaceFactory $stockFactory, AssignSourcesToStockInterface $assignSourcesToStock, DataObjectHelper $dataObjectHelper, - DefaultSourceProviderInterface $defaultSourceResolver, - DefaultStockProviderInterface $defaultStockResolver + DefaultSourceProviderInterface $defaultSourceProvider, + DefaultStockProviderInterface $defaultStockProvider ) { $this->sourceRepository = $sourceRepository; $this->sourceFactory = $sourceFactory; @@ -91,8 +91,8 @@ public function __construct( $this->stockFactory = $stockFactory; $this->assignSourcesToStock = $assignSourcesToStock; $this->dataObjectHelper = $dataObjectHelper; - $this->defaultSourceResolver = $defaultSourceResolver; - $this->defaultStockResolver = $defaultStockResolver; + $this->defaultSourceProvider = $defaultSourceProvider; + $this->defaultStockProvider = $defaultStockProvider; } /** @@ -114,7 +114,7 @@ public function install(ModuleDataSetupInterface $setup, ModuleContextInterface private function addDefaultSource() { $data = [ - SourceInterface::SOURCE_ID => $this->defaultSourceResolver->getId(), + SourceInterface::SOURCE_ID => $this->defaultSourceProvider->getId(), SourceInterface::NAME => 'Default Source', SourceInterface::ENABLED => 1, SourceInterface::DESCRIPTION => 'Default Source', @@ -137,7 +137,7 @@ private function addDefaultSource() private function addDefaultStock() { $data = [ - StockInterface::STOCK_ID => $this->defaultStockResolver->getId(), + StockInterface::STOCK_ID => $this->defaultStockProvider->getId(), StockInterface::NAME => 'Default Stock' ]; $source = $this->stockFactory->create(); @@ -153,8 +153,8 @@ private function addDefaultStock() private function assignStockToSource() { $this->assignSourcesToStock->execute( - [$this->defaultSourceResolver->getId()], - $this->defaultStockResolver->getId() + [$this->defaultSourceProvider->getId()], + $this->defaultStockProvider->getId() ); } } From 94049199586879b60a3d5a83fc0e2dcc2e8a85bb Mon Sep 17 00:00:00 2001 From: Igor Miniailo Date: Fri, 6 Oct 2017 16:08:24 +0300 Subject: [PATCH 7/7] MSI: #121 Add Services for Default Stock manipulation. Fix naming --- app/code/Magento/InventoryCatalog/etc/di.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/InventoryCatalog/etc/di.xml b/app/code/Magento/InventoryCatalog/etc/di.xml index f73fe6b4f4e2..fcead55d99ca 100644 --- a/app/code/Magento/InventoryCatalog/etc/di.xml +++ b/app/code/Magento/InventoryCatalog/etc/di.xml @@ -8,4 +8,4 @@ - \ No newline at end of file +