/**
  * 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;
 }
Esempio n. 2
0
 /**
  * @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);
 }
Esempio n. 4
0
    /**
     * 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, ''));
 }