public void PasswordCheckWithWrongPassword_ExecuteStoreCommand_ThrowsInvalidOperationException() { var model = new SignaturePasswordViewModel(CreatePasswordCheckStub()); model.Password = WrongPassword; Assert.Throws <InvalidOperationException>(() => model.StorePasswordCommand.Execute(null)); }
public void PasswordCheck_AfterExecuteSkipCommand_ResultIsSkip() { var model = new SignaturePasswordViewModel(); model.SkipCommand.Execute(null); Assert.AreEqual(SignaturePasswordResult.Skip, model.Result); }
public void PasswordCheck_WithCorrectPassword_PasswordIsValid() { var model = new SignaturePasswordViewModel(CreatePasswordCheckStub()); model.Password = CorrectPassword; Assert.IsTrue(model.StorePasswordCommand.CanExecute(null)); }
public void PasswordCheck_AfterExecuteRemoveCommand_ResultIsRemove() { var model = new SignaturePasswordViewModel(); model.RemovePasswordCommand.Execute(null); Assert.AreEqual(SignaturePasswordResult.RemovePassword, model.Result); }
public void SettingPassword_RaisesCanExecuteChanged() { var model = new SignaturePasswordViewModel(); model.StorePasswordCommand.CanExecuteChanged += delegate { _eventWasRaised = true; }; model.Password = "******"; Assert.IsTrue(_eventWasRaised); }
public void ExecuteRemove_PasswordIsEmpty() { var model = new SignaturePasswordViewModel(); model.Password = "******"; model.RemovePasswordCommand.Execute(null); Assert.IsEmpty(model.Password, "Password is not empty after remove."); }
public void ExecuteSkip_PasswordIsEmpty() { var model = new SignaturePasswordViewModel(); model.Password = "******"; model.SkipCommand.Execute(null); Assert.IsEmpty(model.Password, "Password is not empty after skip."); }
public void ExecuteStore_PasswordIsSettedPassword() { var model = new SignaturePasswordViewModel(CreatePasswordCheckStub()); model.Password = CorrectPassword; model.StorePasswordCommand.Execute(null); Assert.AreEqual(CorrectPassword, model.Password, "Password is not setted password after storing."); }
public void SettingPassword_RemovePasswordCommand_CallsCloseViewAction() { var model = new SignaturePasswordViewModel(); model.CloseViewAction = delegate { _eventWasRaised = true; }; model.RemovePasswordCommand.Execute(null); Assert.IsTrue(_eventWasRaised); }
public void PasswordCheckWithCorrectPassword_AfterExecuteStoreCommand_ResultIsStorePassword() { var model = new SignaturePasswordViewModel(CreatePasswordCheckStub()); model.Password = CorrectPassword; model.StorePasswordCommand.Execute(null); Assert.AreEqual(SignaturePasswordResult.StorePassword, model.Result); }
public void SetInteraction_RaisesPropertyChanged() { var propertyChangedCalls = new List <string>(); var viewModel = new SignaturePasswordViewModel(null, new SignaturePasswordWindowTranslation()); var interaction = new SignaturePasswordInteraction(PasswordMiddleButton.Skip, ""); viewModel.PropertyChanged += (sender, args) => propertyChangedCalls.Add(args.PropertyName); viewModel.SetInteraction(interaction); var expectedProperties = new[] { nameof(viewModel.Interaction), nameof(viewModel.Password), nameof(viewModel.CanRemovePassword), nameof(viewModel.CanSkip) }; CollectionAssert.AreEquivalent(expectedProperties, propertyChangedCalls); }
public void SettingPassword_StoreCommand_CallsCloseViewAction() { var pwd = MockRepository.GenerateStub <ISignaturePasswordCheck>(); pwd.Stub(x => x.IsValidPassword("NewPassword")).Return(true); var model = new SignaturePasswordViewModel(pwd); model.CloseViewAction = delegate { _eventWasRaised = true; }; model.Password = "******"; model.StorePasswordCommand.Execute(null); Assert.IsTrue(_eventWasRaised); }
private SignaturePasswordViewModel BuildViewModel(string expectedPassword = null) { var signaturePasswordCheck = Substitute.For <ISignaturePasswordCheck>(); if (expectedPassword != null) { signaturePasswordCheck.IsValidPassword(Arg.Any <string>(), expectedPassword).Returns(true); } var viewModel = new SignaturePasswordViewModel(signaturePasswordCheck, new SignaturePasswordWindowTranslation()); var interaction = new SignaturePasswordInteraction(PasswordMiddleButton.Skip, ""); viewModel.SetInteraction(interaction); return(viewModel); }
public SignaturePasswordWindow(SignaturePasswordViewModel viewModel) { _viewModel = viewModel; Loaded += (sender, e) => MoveFocus(new TraversalRequest(FocusNavigationDirection.Next)); DataContext = viewModel; InitializeComponent(); // As password boxes do not allow bindings, we need to update it manually, when the password was set in the interaction viewModel.PropertyChanged += (sender, args) => { if (args.PropertyName == nameof(_viewModel.Password)) { PasswordBox.Password = _viewModel.Password; } }; }
public void PasswordCheck_WithWrongPassword_PasswordNotValid() { var model = new SignaturePasswordViewModel(CreatePasswordCheckStub()); Assert.IsFalse(model.StorePasswordCommand.CanExecute(null)); }
public void EmptyModel_ResultIsCancel() { var model = new SignaturePasswordViewModel(); Assert.AreEqual(SignaturePasswordResult.Cancel, model.Result); }
public void EmptyModel_PasswordNotValid() { var model = new SignaturePasswordViewModel(); Assert.IsFalse(model.StorePasswordCommand.CanExecute(null)); }