LogLastLogoutAtObserverTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Test\Unit\Observer;
  7. use Magento\Customer\Model\Logger;
  8. use Magento\Framework\Stdlib\DateTime;
  9. use Magento\Framework\Event\Observer;
  10. use Magento\Customer\Observer\LogLastLogoutAtObserver;
  11. /**
  12. * Class LogLastLogoutAtObserverTest
  13. */
  14. class LogLastLogoutAtObserverTest extends \PHPUnit\Framework\TestCase
  15. {
  16. /**
  17. * @var LogLastLogoutAtObserver
  18. */
  19. protected $logLastLogoutAtObserver;
  20. /**
  21. * @var Logger | \PHPUnit_Framework_MockObject_MockObject
  22. */
  23. protected $loggerMock;
  24. /**
  25. * @return void
  26. */
  27. protected function setUp()
  28. {
  29. $this->loggerMock = $this->createMock(\Magento\Customer\Model\Logger::class);
  30. $this->logLastLogoutAtObserver = new LogLastLogoutAtObserver($this->loggerMock);
  31. }
  32. /**
  33. * @return void
  34. */
  35. public function testLogLastLogoutAt()
  36. {
  37. $id = 1;
  38. $observerMock = $this->createMock(\Magento\Framework\Event\Observer::class);
  39. $eventMock = $this->createPartialMock(\Magento\Framework\Event::class, ['getCustomer']);
  40. $customerMock = $this->createMock(\Magento\Customer\Model\Customer::class);
  41. $observerMock->expects($this->once())
  42. ->method('getEvent')
  43. ->willReturn($eventMock);
  44. $eventMock->expects($this->once())
  45. ->method('getCustomer')
  46. ->willReturn($customerMock);
  47. $customerMock->expects($this->once())
  48. ->method('getId')
  49. ->willReturn($id);
  50. $this->loggerMock->expects($this->once())
  51. ->method('log');
  52. $this->logLastLogoutAtObserver->execute($observerMock);
  53. }
  54. }