ConvertTest.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Migration\Handler;
  7. class ConvertTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @return array
  11. */
  12. public function dataProviderMaps()
  13. {
  14. return [
  15. [
  16. 'map' => '[one_column:1column;two_columns_left:2columns-left]',
  17. 'initialValue' => 'one_column',
  18. 'processedValue' => '1column'
  19. ],
  20. [
  21. 'map' => '[one_column:1column;two_columns_left:2columns-left]',
  22. 'initialValue' => 'dummy_value',
  23. 'processedValue' => 'dummy_value'
  24. ]
  25. ];
  26. }
  27. /**
  28. * @param string $map
  29. * @param mixed $initialValue
  30. * @param mixed $processedValue
  31. * @dataProvider dataProviderMaps
  32. * @return void
  33. */
  34. public function testHandle($map, $initialValue, $processedValue)
  35. {
  36. $fieldName = 'fieldname';
  37. /** @var \Migration\ResourceModel\Record|\PHPUnit_Framework_MockObject_MockObject $record */
  38. $record = $this->createPartialMock(
  39. \Migration\ResourceModel\Record::class,
  40. ['setValue', 'getValue', 'getFields']
  41. );
  42. $record->expects($this->once())->method('getValue')->will($this->returnValue($initialValue));
  43. $record->expects($this->once())->method('setValue')->with($fieldName, $processedValue);
  44. $record->expects($this->any())->method('getFields')->will($this->returnValue([$fieldName]));
  45. $record2 = $this->getMockBuilder(\Migration\ResourceModel\Record::class)
  46. ->disableOriginalConstructor()
  47. ->getMock();
  48. $handler = new Convert($map);
  49. $handler->setField($fieldName);
  50. $handler->handle($record, $record2);
  51. }
  52. /**
  53. * @return void
  54. */
  55. public function testInvalidMap()
  56. {
  57. $this->expectException('Exception');
  58. $handler = new Convert('[dummy]');
  59. $record = $this->createMock(\Migration\ResourceModel\Record::class);
  60. $record2 = $this->getMockBuilder(\Migration\ResourceModel\Record::class)
  61. ->disableOriginalConstructor()
  62. ->getMock();
  63. $handler->handle($record, $record2, 'dummy');
  64. }
  65. }