/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
dev/tests/integration/testsuite/Magento/User/Model/UserExpirationTest.php
113 строк
3 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 10:44
22 окт 2025, 10:44
264bea2
Код
Авторство
О чём код?
<?php /** * Copyright 2023 Adobe * All Rights Reserved. */ declare(strict_types=1); namespace Magento\User\Model; use Magento\Framework\Exception\AlreadyExistsException; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Stdlib\DateTime\TimezoneInterface; use Magento\Security\Model\ResourceModel\UserExpiration; use Magento\TestFramework\Fixture\DataFixture; use Magento\TestFramework\Fixture\DataFixtureStorage; use Magento\TestFramework\Fixture\DataFixtureStorageManager; use Magento\TestFramework\Helper\Bootstrap; use Magento\User\Test\Fixture\User as UserDataFixture; use Magento\Security\Model\UserExpirationFactory; use PHPUnit\Framework\TestCase; class UserExpirationTest extends TestCase { /** * @var UserExpiration */ private $userExpirationResource; /** * @var DataFixtureStorage */ private $fixtures; /** * @var TimezoneInterface */ private $timeZone; /** * @var UserExpiration */ private $userExpiration; /** * @var UserExpirationFactory */ private $userExpirationFactory; /** * @inheritdoc * @throws LocalizedException */ protected function setUp(): void { $this->userExpirationResource = Bootstrap::getObjectManager()->get(UserExpiration::class); $this->fixtures = DataFixtureStorageManager::getStorage(); $this->userExpirationFactory = Bootstrap::getObjectManager()->get(UserExpirationFactory::class); $this->timeZone = Bootstrap::getObjectManager()->get(TimezoneInterface::class); } /** * Verify user expiration saved with large date. * * @throws LocalizedException * @return void */ #[ DataFixture(UserDataFixture::class, ['role_id' => 1], 'user') ] public function testLargeExpirationDate(): void { $user = $this->fixtures->get('user'); $userId = $user->getDataByKey('user_id'); // Get date more than 100 years from current date $initialExpirationDate = $this->timeZone->date()->modify('+100 years'); $expireDate = $this->timeZone->formatDateTime( $initialExpirationDate, \IntlDateFormatter::MEDIUM, \IntlDateFormatter::MEDIUM ); // Set Expiration date to the admin user and save $this->setExpirationDateToUser($expireDate, (int)$userId); // Load admin expiration date from database $loadedUserExpiration = $this->userExpirationFactory->create(); $this->userExpirationResource->load($loadedUserExpiration, $this->userExpiration->getId()); self::assertEquals( strtotime($initialExpirationDate->format('Y-m-d H:i:s')), strtotime($loadedUserExpiration->getExpiresAt()) ); } /** * Set expiration date to admin user and save * * @param string $expirationDate * @param int $userId * * @return void * @throws AlreadyExistsException */ private function setExpirationDateToUser(string $expirationDate, int $userId): void { $this->userExpiration = $this->userExpirationFactory->create(); $this->userExpiration->setExpiresAt($expirationDate); $this->userExpiration->setUserId($userId); $this->userExpirationResource->save($this->userExpiration); } }