/** * @expectedException \InvalidArgumentException * @expectedExceptionMessage wrongColumnsNumber */ public function testRewind() { $this->_directoryMock->expects($this->any())->method('openFile')->will($this->returnValue(new \Magento\Framework\Filesystem\File\Read(__DIR__ . '/_files/test.csv', new \Magento\Framework\Filesystem\Driver\File()))); $model = new \Magento\ImportExport\Model\Import\Source\Csv(__DIR__ . '/_files/test.csv', $this->_directoryMock); $this->assertSame(-1, $model->key()); $model->next(); $this->assertSame(0, $model->key()); $model->next(); $this->assertSame(1, $model->key()); $model->rewind(); $this->assertSame(0, $model->key()); $model->next(); $model->next(); $this->assertSame(2, $model->key()); $model->current(); }
/** * Test for method _saveValidatedBunches() */ public function testSaveValidatedBunches() { $filesystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Framework\\App\\Filesystem'); $directory = $filesystem->getDirectoryWrite(\Magento\Framework\App\Filesystem::ROOT_DIR); $source = new \Magento\ImportExport\Model\Import\Source\Csv(__DIR__ . '/Entity/_files/customers_for_validation_test.csv', $directory); $source->rewind(); $expected = $source->current(); $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); /** @var $model \Magento\ImportExport\Model\Import\AbstractEntity|\PHPUnit_Framework_MockObject_MockObject */ $model = $this->getMockForAbstractClass('Magento\\ImportExport\\Model\\Import\\AbstractEntity', array($objectManager->get('Magento\\Core\\Helper\\Data'), $objectManager->get('Magento\\Framework\\Stdlib\\String'), $objectManager->get('Magento\\Framework\\App\\Config\\ScopeConfigInterface'), $objectManager->get('Magento\\ImportExport\\Model\\ImportFactory'), $objectManager->get('Magento\\ImportExport\\Model\\Resource\\Helper'), $objectManager->get('Magento\\Framework\\App\\Resource')), '', true, false, true, ['getMasterAttributeCode', 'validateRow', 'getEntityTypeCode']); $model->expects($this->any())->method('getMasterAttributeCode')->will($this->returnValue("email")); $model->expects($this->any())->method('validateRow')->will($this->returnValue(true)); $model->expects($this->any())->method('getEntityTypeCode')->will($this->returnValue('customer')); $model->setSource($source); $method = new \ReflectionMethod($model, '_saveValidatedBunches'); $method->setAccessible(true); $method->invoke($model); /** @var $dataSourceModel \Magento\ImportExport\Model\Resource\Import\Data */ $dataSourceModel = $objectManager->get('Magento\\ImportExport\\Model\\Resource\\Import\\Data'); $this->assertCount(1, $dataSourceModel->getIterator()); $bunch = $dataSourceModel->getNextBunch(); $this->assertEquals($expected, $bunch[0]); //Delete created bunch from DB $dataSourceModel->cleanBunches(); }