6 declare(strict_types=1);
15 use Magento\InventorySalesApi\Api\Data\SalesChannelInterfaceFactory;
18 use PHPUnit\Framework\TestCase;
25 private $objectManager;
30 private $stockRepository;
35 private $salesChannelFactory;
40 private $stockResolverInterface;
48 $this->stockRepository = $this->objectManager->get(StockRepositoryInterface::class);
49 $this->salesChannelFactory = $this->objectManager->get(SalesChannelInterfaceFactory::class);
50 $this->stockResolverInterface = $this->objectManager->get(StockResolverInterface::class);
60 public function testExecute()
64 $this->assertEquals(10,
$stock->getStockId());
65 $this->assertEquals(
'EU-stock',
$stock->getName());
70 $this->assertEquals(
'website', $salesChannel->getType());
71 $this->assertEquals(
'eu_website', $salesChannel->getCode());
81 public function testExecuteAfterChangeSalesChannelsTest()
86 $this->assertEquals($stockId,
$stock->getStockId());
87 $this->assertEquals(
'US-stock',
$stock->getName());
92 $this->assertEquals(
'website', $salesChannel->getType());
93 $this->assertEquals(
'us_website', $salesChannel->getCode());
96 $stock = $this->stockRepository->get($stockId);
97 $salesChannel = $this->salesChannelFactory->create();
98 $salesChannel->setCode(
'global_website');
100 $stock->getExtensionAttributes()->setSalesChannels([$salesChannel]);
101 $this->stockRepository->save(
$stock);
104 $this->assertEquals($stockId,
$stock->getStockId());
105 $this->assertEquals(
'US-stock',
$stock->getName());
110 $this->assertEquals(
'website', $salesChannel->getType());
111 $this->assertEquals(
'global_website', $salesChannel->getCode());
122 $this->assertEquals(
'No linked stock found', $e->getMessage());
static getObjectManager()