FieldDataConverterFactoryTest.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\DB\Test\Unit;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. use Magento\Framework\DB\FieldDataConverterFactory;
  9. use Magento\Framework\ObjectManagerInterface;
  10. use Magento\Framework\DB\FieldDataConverter;
  11. use Magento\Framework\DB\DataConverter\DataConverterInterface;
  12. class FieldDataConverterFactoryTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /**
  15. * @var ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject
  16. */
  17. private $objectManagerMock;
  18. /**
  19. * @var DataConverterInterface|\PHPUnit_Framework_MockObject_MockObject
  20. */
  21. private $dataConverterMock;
  22. /**
  23. * @var FieldDataConverterFactory
  24. */
  25. private $fieldDataConverterFactory;
  26. protected function setUp()
  27. {
  28. $objectManager = new ObjectManager($this);
  29. $this->objectManagerMock = $this->createMock(ObjectManagerInterface::class);
  30. $this->dataConverterMock = $this->createMock(DataConverterInterface::class);
  31. $this->fieldDataConverterFactory = $objectManager->getObject(
  32. FieldDataConverterFactory::class,
  33. [
  34. 'objectManager' => $this->objectManagerMock
  35. ]
  36. );
  37. }
  38. public function testCreate()
  39. {
  40. $dataConverterClassName = 'ClassName';
  41. $fieldDataConverterInstance = 'field data converter instance';
  42. $this->objectManagerMock->expects($this->once())
  43. ->method('get')
  44. ->with($dataConverterClassName)
  45. ->willReturn($this->dataConverterMock);
  46. $this->objectManagerMock->expects($this->once())
  47. ->method('create')
  48. ->with(
  49. FieldDataConverter::class,
  50. [
  51. 'dataConverter' => $this->dataConverterMock
  52. ]
  53. )
  54. ->willReturn($fieldDataConverterInstance);
  55. $this->assertEquals(
  56. $fieldDataConverterInstance,
  57. $this->fieldDataConverterFactory->create($dataConverterClassName)
  58. );
  59. }
  60. }