. */ namespace SP\Tests\Services\CustomField; use Defuse\Crypto\Exception\CryptoException; use DI\DependencyException; use DI\NotFoundException; use SP\Core\Context\ContextException; use SP\Core\Crypt\Crypt; use SP\Core\Exceptions\ConstraintException; use SP\Core\Exceptions\QueryException; use SP\Services\Crypt\UpdateMasterPassRequest; use SP\Services\CustomField\CustomFieldCryptService; use SP\Services\CustomField\CustomFieldService; use SP\Services\ServiceException; use SP\Tests\DatabaseTestCase; use SP\Tests\Services\Account\AccountCryptServiceTest; use function SP\Tests\setupContext; /** * Class CustomFieldCryptServiceTest * * @package SP\Tests\Services\CustomField */ class CustomFieldCryptServiceTest extends DatabaseTestCase { /** * @var CustomFieldService */ private static $customFieldService; /** * @var CustomFieldCryptService */ private static $service; /** * @throws NotFoundException * @throws ContextException * @throws DependencyException */ public static function setUpBeforeClass(): void { $dic = setupContext(); self::$loadFixtures = true; // Inicializar el repositorio self::$service = $dic->get(CustomFieldCryptService::class); self::$customFieldService = $dic->get(CustomFieldService::class); } /** * @throws ConstraintException * @throws QueryException * @throws ServiceException * @throws CryptoException */ public function testUpdateMasterPassword() { $request = new UpdateMasterPassRequest(AccountCryptServiceTest::CURRENT_MASTERPASS, AccountCryptServiceTest::NEW_MASTERPASS, AccountCryptServiceTest::CURRENT_HASH); self::$service->updateMasterPassword($request); $result = self::$customFieldService->getAllEncrypted(); $data = Crypt::decrypt($result[0]->getData(), $result[0]->getKey(), AccountCryptServiceTest::NEW_MASTERPASS); $this->assertEquals('1234', $data); } }