6 declare(strict_types=1);
19 use PHPUnit\Framework\TestCase;
31 private $sourceItemRepository;
36 private $sourceRepository;
41 private $searchCriteriaBuilder;
46 private $importDataMock;
50 $this->importDataMock = $this->getMockBuilder(ImportData::class)
51 ->disableOriginalConstructor()
55 'importData' => $this->importDataMock
68 $rowData = $this->buildRowDataArray(
'us-2',
'SKU-55', 33, 1);
69 $result = $this->importer->validateRow($rowData, 2);
70 $this->assertNotTrue(
$result,
'Expect result FALSE as given source ID is not present in database.');
79 $rowData = $this->buildRowDataArray(
'eu-2',
'SKU-1', 33, 1);
80 $result = $this->importer->validateRow($rowData, 2);
81 $this->assertTrue(
$result,
'Expect result TRUE as given data is valid.');
86 $this->importer->setParameters([
87 'behavior' =>
'WrongBehavior' 104 $this->importer->setParameters([
112 $this->buildRowDataArray(
'eu-1',
'SKU-1', 6.8800, 1),
113 $this->buildRowDataArray(
'eu-2',
'SKU-1', 5.0000, 1),
114 $this->buildRowDataArray(
'us-1',
'SKU-2', 15, 1),
115 $this->buildRowDataArray(
'eu-1',
'SKU-2', 33, 1),
117 $this->importData($bunch);
119 $expectedData = $this->updateDataArrayByBunch($beforeImportData, $bunch);
122 $this->assertEquals($expectedData, $afterImportData);
136 $this->importer->setParameters([
143 $this->buildRowDataArray(
'eu-1',
'SKU-1', 6.88, 1),
144 $this->buildRowDataArray(
'eu-2',
'SKU-1', 5, 1),
146 $this->importData($bunch);
150 $this->assertArrayNotHasKey(
'10-SKU-1', $afterImportData);
151 $this->assertArrayNotHasKey(
'20-SKU-1', $afterImportData);
166 $this->importer->setParameters([
171 $this->buildRowDataArray(
'eu-2',
'SKU-1', 5, 1),
172 $this->buildRowDataArray(
'us-1',
'SKU-2', 15, 1),
174 $this->importData($bunch);
179 $this->assertArrayHasKey(
'eu-2-SKU-1', $afterImportData);
180 $this->assertArrayHasKey(
'us-1-SKU-2', $afterImportData);
196 $this->assertArrayHasKey(
'eu-1-SKU-1', $beforeImportData);
199 $this->importer->setParameters([
204 $this->buildRowDataArray(
'eu-2',
'SKU-1', 20, 1),
205 $this->buildRowDataArray(
'us-1',
'SKU-2', 15, 1),
207 $this->importData($bunch);
211 $this->assertEquals($beforeImportData[
'eu-1-SKU-1'], $afterImportData[
'eu-1-SKU-1']);
213 $this->assertArrayHasKey(
'eu-2-SKU-1', $afterImportData);
214 $this->assertArrayHasKey(
'us-1-SKU-2', $afterImportData);
240 $comparableArray = [];
243 $comparableArray[$key] = $this->buildRowDataArray(
250 return $comparableArray;
258 private function updateDataArrayByBunch(array
$data, array $bunch)
260 foreach ($bunch as $bunchData) {
262 $data[$key] = $this->buildRowDataArray(
286 private function importData(array $bunch)
288 $this->importDataMock->expects($this->any())
289 ->method(
'getNextBunch')
290 ->will($this->onConsecutiveCalls($bunch,
false));
292 $this->importer->importData();
testImportDataWithWrongBehavior()
testImportDataWithReplaceBehaviorNoAffectOtherSources()
static getDefaultBehavior()
testValidateRowExpectsValidRow()
testImportDataWithReplaceBehavior()
testImportDataWithDelteBehavior()
testValidateRowExpectsInvalidRow()
static getObjectManager()
testImportDataWithAppendBehavior()