Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UserTest.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\User\Helper\Data as UserHelper;
12 
19 class UserTest extends \PHPUnit\Framework\TestCase
20 {
22  private $model;
23 
25  private $userDataMock;
26 
31  protected function setUp()
32  {
33  $this->userDataMock = $this->getMockBuilder(UserHelper::class)
34  ->disableOriginalConstructor()
35  ->setMethods([])
36  ->getMock();
37 
38  $objectManagerHelper = new ObjectManager($this);
39  $this->model = $objectManagerHelper->getObject(
40  User::class,
41  [
42  'userData' => $this->userDataMock,
43  ]
44  );
45  }
46 
50  public function testSleep()
51  {
52  $excludedProperties = [
53  '_eventManager',
54  '_cacheManager',
55  '_registry',
56  '_appState',
57  '_userData',
58  '_config',
59  '_validatorObject',
60  '_roleFactory',
61  '_encryptor',
62  '_transportBuilder',
63  '_storeManager',
64  '_validatorBeforeSave'
65  ];
66  $actualResult = $this->model->__sleep();
67  $this->assertNotEmpty($actualResult);
68  $expectedResult = array_intersect($actualResult, $excludedProperties);
69  $this->assertEmpty($expectedResult);
70  }
71 
76  {
77  $token = '1';
78  $this->assertInstanceOf(
79  User::class,
80  $this->model->changeResetPasswordLinkToken($token)
81  );
82  $this->assertEquals($token, $this->model->getRpToken());
83  $this->assertInternalType(
84  'string',
85  $this->model->getRpTokenCreatedAt()
86  );
87  }
88 
93  {
94  $this->assertTrue($this->model->isResetPasswordLinkTokenExpired());
95  }
96 
101  {
102  $this->model->setRpToken('1');
103  $this->model->setRpTokenCreatedAt(
104  (new \DateTime())->format(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT)
105  );
106  $this->userDataMock->expects($this->once())->method('getResetPasswordLinkExpirationPeriod')->willReturn(0);
107  $this->assertTrue($this->model->isResetPasswordLinkTokenExpired());
108  }
109 }