public void CanDeleteKeyCommandTest()
        {
            var viewModel = new ManageLocalKeysViewModel(VaultName, new Mock <IKeyRepository>().Object);

            viewModel.SetSelectedKey(KeyWithIdentifier);
            Assert.IsTrue(viewModel.DeleteKeyCommand.CanExecute(null));
        }
        public void CreateInstanceTest()
        {
            var viewModel = new ManageLocalKeysViewModel(VaultName, new Mock <IKeyRepository>().Object);

            Assert.IsNotNull(viewModel.AddKeyCommand);
            Assert.IsNull(viewModel.AddKeyViewModel);
            Assert.IsNotNull(viewModel.DeleteKeyCommand);
            Assert.IsTrue(viewModel.AddKeyCommand.CanExecute(null));
            Assert.IsFalse(viewModel.DeleteKeyCommand.CanExecute(null));
        }
        public void DeleteKeyCommandTest()
        {
            var keyRepository = new Mock <IKeyRepository>();
            var key           = KeyWithIdentifier;
            var viewModel     = new ManageLocalKeysViewModel(VaultName, keyRepository.Object);

            viewModel.KeysModified += (sender, args) => Assert.IsInstanceOfType(sender, typeof(ManageLocalKeysViewModel));
            viewModel.SetSelectedKey(key);
            viewModel.DeleteKeyCommand.Execute(null);
            keyRepository.Verify(a => a.Delete(key), Times.Once);
        }