123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\User\Test\Unit\Observer\Backend;
- /**
- * Test class for Magento\User\Observer\Backend\TrackAdminNewPasswordObserver
- * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
- */
- class TrackAdminNewPasswordObserverTest extends \PHPUnit\Framework\TestCase
- {
- /** @var \Magento\User\Model\Backend\Config\ObserverConfig */
- protected $observerConfig;
- /** @var \Magento\Backend\App\ConfigInterface|\PHPUnit_Framework_MockObject_MockObject */
- protected $configInterfaceMock;
- /** @var \Magento\User\Model\ResourceModel\User|\PHPUnit_Framework_MockObject_MockObject */
- protected $userMock;
- /** @var \Magento\Backend\Model\Auth\Session|\PHPUnit_Framework_MockObject_MockObject */
- protected $authSessionMock;
- /** @var \Magento\Framework\Message\ManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
- protected $managerInterfaceMock;
- /** @var \Magento\User\Observer\Backend\TrackAdminNewPasswordObserver */
- protected $model;
- protected function setUp()
- {
- $this->configInterfaceMock = $this->getMockBuilder(\Magento\Backend\App\ConfigInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $this->userMock = $this->getMockBuilder(\Magento\User\Model\ResourceModel\User::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $this->authSessionMock = $this->getMockBuilder(\Magento\Backend\Model\Auth\Session::class)
- ->disableOriginalConstructor()
- ->setMethods(
- [
- 'setPciAdminUserIsPasswordExpired',
- 'unsPciAdminUserIsPasswordExpired',
- 'getPciAdminUserIsPasswordExpired',
- 'isLoggedIn',
- 'clearStorage'
- ]
- )->getMock();
- $this->managerInterfaceMock = $this->getMockBuilder(\Magento\Framework\Message\ManagerInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $helper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
- $this->observerConfig = $helper->getObject(
- \Magento\User\Model\Backend\Config\ObserverConfig::class,
- [
- 'backendConfig' => $this->configInterfaceMock
- ]
- );
- $this->model = $helper->getObject(
- \Magento\User\Observer\Backend\TrackAdminNewPasswordObserver::class,
- [
- 'observerConfig' => $this->observerConfig,
- 'userResource' => $this->userMock,
- 'authSession' => $this->authSessionMock,
- 'messageManager' => $this->managerInterfaceMock,
- ]
- );
- }
- public function testTrackAdminPassword()
- {
- $newPW = "mYn3wpassw0rd";
- $uid = 123;
- /** @var \Magento\Framework\Event\Observer|\PHPUnit_Framework_MockObject_MockObject $eventObserverMock */
- $eventObserverMock = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- /** @var \Magento\Framework\Event|\PHPUnit_Framework_MockObject_MockObject */
- $eventMock = $this->getMockBuilder(\Magento\Framework\Event::class)
- ->disableOriginalConstructor()
- ->setMethods(['getObject'])
- ->getMock();
- /** @var \Magento\User\Model\User|\PHPUnit_Framework_MockObject_MockObject $userMock */
- $userMock = $this->getMockBuilder(\Magento\User\Model\User::class)
- ->disableOriginalConstructor()
- ->setMethods(['getId', 'getPassword', 'getForceNewPassword'])
- ->getMock();
- $eventObserverMock->expects($this->once())->method('getEvent')->willReturn($eventMock);
- $eventMock->expects($this->once())->method('getObject')->willReturn($userMock);
- $userMock->expects($this->once())->method('getId')->willReturn($uid);
- $userMock->expects($this->once())->method('getPassword')->willReturn($newPW);
- $userMock->expects($this->once())->method('getForceNewPassword')->willReturn(false);
- /** @var \Magento\Framework\Message\Collection|\PHPUnit_Framework_MockObject_MockObject $collectionMock */
- $collectionMock = $this->getMockBuilder(\Magento\Framework\Message\Collection::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- $this->managerInterfaceMock
- ->expects($this->once())
- ->method('getMessages')
- ->willReturn($collectionMock);
- $this->authSessionMock->expects($this->once())->method('unsPciAdminUserIsPasswordExpired')->willReturn(null);
- $this->model->execute($eventObserverMock);
- }
- }
|