/** * Check if all admin options are provided * * @param InputInterface $input * @return string[] */ public function validate(InputInterface $input) { $errors = []; $user = new \Magento\Framework\DataObject(); $user->setFirstname($input->getOption(AdminAccount::KEY_FIRST_NAME))->setLastname($input->getOption(AdminAccount::KEY_LAST_NAME))->setUsername($input->getOption(AdminAccount::KEY_USER))->setEmail($input->getOption(AdminAccount::KEY_EMAIL))->setPassword($input->getOption(AdminAccount::KEY_PASSWORD) === null ? '' : $input->getOption(AdminAccount::KEY_PASSWORD)); $validator = new \Magento\Framework\Validator\DataObject(); $this->validationRules->addUserInfoRules($validator); $this->validationRules->addPasswordRules($validator); if (!$validator->isValid($user)) { $errors = array_merge($errors, $validator->getMessages()); } return $errors; }
/** * @return void */ public function testValidateInvalid() { $messages = ['Invalid username']; /** @var $validatorMock \Magento\Framework\Validator\DataObject|\PHPUnit_Framework_MockObject_MockObject */ $validatorMock = $this->getMockBuilder('Magento\\Framework\\Validator\\DataObject')->disableOriginalConstructor()->setMethods([])->getMock(); $this->validatorObjectFactoryMock->expects($this->once())->method('create')->willReturn($validatorMock); $this->validationRulesMock->expects($this->once())->method('addUserInfoRules')->with($validatorMock); $validatorMock->expects($this->once())->method('isValid')->willReturn(false); $validatorMock->expects($this->once())->method('getMessages')->willReturn($messages); $this->assertEquals($messages, $this->model->validate()); }
public function testCheckPasswordChangeValid() { /** @var $validatorMock \Magento\Framework\Validator\DataObject|\PHPUnit_Framework_MockObject_MockObject */ $validatorMock = $this->getMockBuilder('Magento\\Framework\\Validator\\DataObject')->disableOriginalConstructor()->setMethods([])->getMock(); $this->validatorObjectFactoryMock->expects($this->once())->method('create')->willReturn($validatorMock); $this->validationRulesMock->expects($this->once())->method('addUserInfoRules')->with($validatorMock); $validatorMock->expects($this->once())->method('isValid')->willReturn(true); $newPassword = "******"; $oldPassword = "******"; $this->model->setPassword($newPassword)->setId(1)->setOrigData('password', $oldPassword); $this->encryptorMock->expects($this->atLeastOnce())->method('isValidHash')->will($this->onConsecutiveCalls(false, false, false)); $this->resourceMock->expects($this->once())->method('getOldPasswords')->willReturn(['hash1', 'hash2']); $result = $this->model->validate(); $this->assertTrue($result); }
/** * Validate customer attribute values. * For existing customer password + confirmation will be validated only when password is set * (i.e. its change is requested) * * @return bool|string[] */ public function validate() { /** @var $validator \Magento\Framework\Validator\DataObject */ $validator = $this->_validatorObject->create(); $this->validationRules->addUserInfoRules($validator); if (!$validator->isValid($this)) { return $validator->getMessages(); } return true; }
public function testAddPasswordConfirmationRule() { $this->validator->expects($this->once())->method('addRule')->willReturn($this->validator); $this->assertSame($this->validator, $this->rules->addPasswordConfirmationRule($this->validator, '')); }