SetHashTest.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Migration\Handler;
  7. class SetHashTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @return void
  11. */
  12. public function testHandle()
  13. {
  14. $hash = 'crc32';
  15. $baseField = 'baseField';
  16. $baseFieldValue = 'some_string';
  17. $fieldName = 'fieldname';
  18. /** @var \Migration\ResourceModel\Record|\PHPUnit_Framework_MockObject_MockObject $recordToHandle */
  19. $recordToHandle = $this->createPartialMock(
  20. \Migration\ResourceModel\Record::class,
  21. ['setValue', 'getFields']
  22. );
  23. $recordToHandle->expects($this->once())->method('setValue')->with($fieldName, $hash($baseFieldValue));
  24. $recordToHandle->expects($this->once())->method('getFields')->will($this->returnValue([$fieldName]));
  25. $oppositeRecord = $this->getMockBuilder(\Migration\ResourceModel\Record::class)
  26. ->setMethods(['getValue'])
  27. ->disableOriginalConstructor()
  28. ->getMock();
  29. $oppositeRecord->expects($this->any())
  30. ->method('getValue')
  31. ->with($baseField)
  32. ->will($this->returnValue($baseFieldValue));
  33. $handler = new SetHash($hash, $baseField);
  34. $handler->setField($fieldName);
  35. $handler->handle($recordToHandle, $oppositeRecord);
  36. }
  37. }