RenameWebsiteToStockLinkTest.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\InventorySales\Test\Integration\Website;
  8. use Magento\InventorySalesApi\Model\GetAssignedStockIdForWebsiteInterface;
  9. use Magento\Store\Model\Website;
  10. use Magento\Store\Model\ResourceModel\Website as WebsiteResource;
  11. use Magento\Store\Model\WebsiteFactory;
  12. use Magento\TestFramework\Helper\Bootstrap;
  13. use PHPUnit\Framework\TestCase;
  14. class RenameWebsiteToStockLinkTest extends TestCase
  15. {
  16. /**
  17. * @var WebsiteFactory
  18. */
  19. private $websiteFactory;
  20. /**
  21. * @var GetAssignedStockIdForWebsiteInterface
  22. */
  23. private $getAssignedStockIdForWebsite;
  24. /**
  25. * @var WebsiteResource
  26. */
  27. private $websiteResource;
  28. protected function setUp()
  29. {
  30. $this->websiteFactory = Bootstrap::getObjectManager()->get(WebsiteFactory::class);
  31. $this->getAssignedStockIdForWebsite = Bootstrap::getObjectManager()->get(
  32. GetAssignedStockIdForWebsiteInterface::class
  33. );
  34. $this->websiteResource = Bootstrap::getObjectManager()->get(WebsiteResource::class);
  35. }
  36. /**
  37. * @throws \Exception
  38. * @magentoDbIsolation enabled
  39. */
  40. public function testRenameWebsiteToStockLink()
  41. {
  42. $oldWebsiteCode = 'old_website_code';
  43. $newWebsiteCode = 'new_website_code';
  44. /** @var Website $website */
  45. $website = $this->websiteFactory->create();
  46. $website->setCode($oldWebsiteCode);
  47. $this->websiteResource->save($website);
  48. $websiteId = $website->getId();
  49. $website = $this->websiteFactory->create();
  50. $this->websiteResource->load($website, $websiteId);
  51. $website->setCode($newWebsiteCode);
  52. $this->websiteResource->save($website);
  53. self::assertNull(
  54. $this->getAssignedStockIdForWebsite->execute($oldWebsiteCode),
  55. 'Old website link was not removed'
  56. );
  57. self::assertNotNull(
  58. $this->getAssignedStockIdForWebsite->execute($newWebsiteCode),
  59. 'Website link was not renamed'
  60. );
  61. }
  62. }