6 declare(strict_types=1);
15 use PHPUnit\Framework\TestCase;
22 private $bulkSourceAssign;
27 private $searchCriteriaBuilder;
32 private $sourceItemRepository;
46 private function getSourceItemCodesBySku(
string $sku): array
69 $skus = [
'SKU-1',
'SKU-2'];
71 $count = $this->bulkSourceAssign->execute(
$skus, $sources);
76 'Products source assignment count do not match' 79 foreach (
$skus as $sku) {
80 $sourceItemCodes = $this->getSourceItemCodesBySku($sku);
84 'Mass source assignment failed with a single source item' 88 $skus = [
'SKU-1',
'SKU-2'];
90 $count = $this->bulkSourceAssign->execute(
$skus, $sources);
95 'Source items are created in mass assignment operation even if they were existing' 98 $skus = [
'SKU-1',
'SKU-2',
'SKU-3',
'SKU-4'];
99 $sources = [
'eu-1',
'eu-2',
'eu-3'];
100 $count = $this->bulkSourceAssign->execute(
$skus, $sources);
102 foreach (
$skus as $sku) {
103 $sourceItemCodes = $this->getSourceItemCodesBySku($sku);
105 foreach ($sources as
$source) {
106 self::assertContains(
109 'Mass source assignment failed with multiple source items' 117 'Products source assignment count do not match with overlapping sources' 128 $skus = [
'simple_sku',
'configurable_sku',
'virtual_sku',
'grouped_sku',
'bundle_sku',
'downloadable_sku'];
129 $sources = [
'eu-1',
'eu-2',
'eu-3'];
130 $count = $this->bulkSourceAssign->execute(
$skus, $sources);
135 'Products source assignment count do not match with mixed product types' testBulkSourceAssignmentOnMixedProducts()
foreach($websiteCodes as $websiteCode) $skus
testBulkSourceAssignment()
static getObjectManager()