ObserverFactoryTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Event\Test\Unit;
  7. use \Magento\Framework\Event\ObserverFactory;
  8. /**
  9. * Class ConfigTest
  10. *
  11. * @package Magento\Framework\Event
  12. */
  13. class ObserverFactoryTest extends \PHPUnit\Framework\TestCase
  14. {
  15. /**
  16. * @var \Magento\Framework\ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject
  17. */
  18. protected $objectManagerMock;
  19. /**
  20. * @var ObserverFactory
  21. */
  22. protected $observerFactory;
  23. protected function setUp()
  24. {
  25. $this->objectManagerMock = $this->createPartialMock(
  26. \Magento\Framework\ObjectManager\ObjectManager::class,
  27. ['get', 'create']
  28. );
  29. $this->observerFactory = new ObserverFactory($this->objectManagerMock);
  30. }
  31. public function testGet()
  32. {
  33. $className = 'Magento\Class';
  34. $observerMock = $this->getMockBuilder('Observer')->getMock();
  35. $this->objectManagerMock->expects($this->once())
  36. ->method('get')
  37. ->with($className)
  38. ->will($this->returnValue($observerMock));
  39. $result = $this->observerFactory->get($className);
  40. $this->assertEquals($observerMock, $result);
  41. }
  42. public function testCreate()
  43. {
  44. $className = 'Magento\Class';
  45. $observerMock = $this->getMockBuilder('Observer')->getMock();
  46. $arguments = ['arg1', 'arg2'];
  47. $this->objectManagerMock->expects($this->once())
  48. ->method('create')
  49. ->with($className, $this->equalTo($arguments))
  50. ->will($this->returnValue($observerMock));
  51. $result = $this->observerFactory->create($className, $arguments);
  52. $this->assertEquals($observerMock, $result);
  53. }
  54. }