Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
BulkConfigurationTransferTest.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
13 use PHPUnit\Framework\TestCase;
14 
15 class BulkConfigurationTransferTest extends TestCase
16 {
20  private $bulkConfigurationTransfer;
21 
25  private $getSourceItemConfiguration;
26 
27  public function setUp()
28  {
29  parent::setUp();
30  $this->bulkConfigurationTransfer = Bootstrap::getObjectManager()->get(BulkConfigurationTransfer::class);
31  $this->getSourceItemConfiguration =
32  Bootstrap::getObjectManager()->create(GetSourceItemConfigurationInterface::class);
33  }
34 
43  public function testTransfer()
44  {
45  $sourceConfig = $this->getSourceItemConfiguration->execute('eu-1', 'SKU-1');
46  $this->bulkConfigurationTransfer->execute(['SKU-1'], 'eu-1', 'eu-2');
47  $destinationConfig = $this->getSourceItemConfiguration->execute('eu-2', 'SKU-1');
48 
49  self::assertEquals(
50  $sourceConfig->getNotifyStockQty(),
51  $destinationConfig->getNotifyStockQty(),
52  'Low stock notification configuration was not transferred on bulk operations'
53  );
54  }
55 
64  public function testTransferWithUnassign()
65  {
66  $sourceConfig = $this->getSourceItemConfiguration->execute('eu-1', 'SKU-1');
67  $this->bulkConfigurationTransfer->execute(['SKU-1'], 'eu-1', 'eu-2');
68  $destinationConfig = $this->getSourceItemConfiguration->execute('eu-2', 'SKU-1');
69 
70  self::assertEquals(
71  $sourceConfig->getNotifyStockQty(),
72  $destinationConfig->getNotifyStockQty(),
73  'Low stock notification configuration was not transferred on bulk operations'
74  );
75  }
76 
86  {
87  $this->bulkConfigurationTransfer->execute(['SKU-1'], 'us-1', 'eu-1');
88  $sourceConfig = $this->getSourceItemConfiguration->execute('eu-1', 'SKU-1');
89 
90  self::assertEquals(
91  5.6,
92  $sourceConfig->getNotifyStockQty(),
93  'Low stock notification was overwritten by an unassigned source'
94  );
95  }
96 
106  {
107  $this->bulkConfigurationTransfer->execute(['SKU-1'], 'eu-1', 'us-1');
108  $sourceConfig = $this->getSourceItemConfiguration->execute('us-1', 'SKU-1');
109 
110  self::assertEquals(
111  5.6,
112  $sourceConfig->getNotifyStockQty(),
113  'Low stock notification was not transferred to unassigned source'
114  );
115  }
116 }