@@ -38,6 +38,29 @@ public function testSaveNewUserExpiration()
38
38
static ::assertEquals ($ userExpiration ->getExpiresAt (), $ testDate );
39
39
}
40
40
41
+ /**
42
+ * Save a new UserExpiration; used to validate that date conversion is working correctly.
43
+ *
44
+ * @magentoDataFixture Magento/User/_files/dummy_user.php
45
+ */
46
+ public function testSaveNewUserExpirationInMinutes ()
47
+ {
48
+ $ adminUserNameFromFixture = 'dummy_username ' ;
49
+ $ testDate = $ this ->getFutureDateInStoreTime ('+2 minutes ' );
50
+ $ user = Bootstrap::getObjectManager ()->create (\Magento \User \Model \User::class);
51
+ $ user ->loadByUsername ($ adminUserNameFromFixture );
52
+ $ user ->setExpiresAt ($ testDate );
53
+ $ user ->save ();
54
+
55
+ $ userExpirationFactory =
56
+ Bootstrap::getObjectManager ()->create (\Magento \Security \Model \UserExpirationFactory::class);
57
+ /** @var \Magento\Security\Model\UserExpiration $userExpiration */
58
+ $ userExpiration = $ userExpirationFactory ->create ();
59
+ $ userExpiration ->load ($ user ->getId ());
60
+ static ::assertNotNull ($ userExpiration ->getId ());
61
+ static ::assertEquals ($ userExpiration ->getExpiresAt (), $ testDate );
62
+ }
63
+
41
64
/**
42
65
* Remove the UserExpiration record
43
66
*
@@ -87,15 +110,16 @@ public function testChangeUserExpiration()
87
110
}
88
111
89
112
/**
113
+ * @param string $timeToAdd Amount of time to add
90
114
* @return string
91
115
* @throws \Exception
92
116
*/
93
- private function getFutureDateInStoreTime ()
117
+ private function getFutureDateInStoreTime ($ timeToAdd = ' +20 days ' )
94
118
{
95
119
/** @var \Magento\Framework\Stdlib\DateTime\TimezoneInterface $locale */
96
120
$ locale = Bootstrap::getObjectManager ()->get (\Magento \Framework \Stdlib \DateTime \TimezoneInterface::class);
97
121
$ testDate = new \DateTime ();
98
- $ testDate ->modify (' +20 days ' );
122
+ $ testDate ->modify ($ timeToAdd );
99
123
$ storeDate = $ locale ->date ($ testDate );
100
124
return $ storeDate ->format ('Y-m-d H:i:s ' );
101
125
}
0 commit comments