public void AddLabel_ThenCancel()
        {
            _vm.BeginEdit();
            _vm.AddLabelCommand.Execute(null);
            var newLabel = _vm.CustomLabels[0];

            _vm.CancelEdit();

            Assert.AreEqual(0, _vm.CustomLabels.Count);
            _labelServiceMock.Verify(o => o.AddCustomTextLabel(It.IsAny <CustomLabelVM>()), Times.Once);
            _labelServiceMock.Verify(o => o.RemoveCustomTextLabel(newLabel), Times.Once);
        }
        public void RemoveLabel_ThenCancel()
        {
            _appSettingsMock.SetupGet(x => x.CustomLabels).Returns(new List <CustomLabel> {
                new CustomLabel()
            });
            _dialogMock.Setup(o => o.ShowConfirmationDialog(It.IsAny <string>(), It.IsAny <string>())).Returns(true);
            _vm = new CustomLabelsVM(_appSettingsMock.Object, _labelServiceMock.Object, _dialogMock.Object);
            _vm.BeginEdit();
            var label = _vm.CustomLabels[0];

            _vm.RemoveLabelCommand.Execute(label);
            _vm.CancelEdit();

            Assert.AreEqual(1, _vm.CustomLabels.Count);
            Assert.AreEqual(label, _vm.CustomLabels[0]);
            _labelServiceMock.Verify(o => o.RemoveCustomTextLabel(label), Times.Once);
        }
Example #3
0
        public async Task RemoveLabel_ThenCancel()
        {
            var host   = new Mock <ICustomLabelHost>();
            var dialog = new Mock <IDialogService>();
            var vm     = new CustomLabelsVM(new List <CustomLabel> {
                new CustomLabel()
            }, host.Object);

            vm.BeginEdit();

            dialog.Setup(o => o.ShowConfirmationDialogAsync(It.IsAny <string>(), It.IsAny <string>())).Returns(Task.FromResult(true));
            vm.DialogService = dialog.Object;
            var label = vm.CustomLabels[0];
            await vm.RemoveLabelCommand.ExecuteAsync(label);

            vm.CancelEdit();

            Assert.AreEqual(1, vm.CustomLabels.Count);
            Assert.AreEqual(label, vm.CustomLabels[0]);
            host.Verify(o => o.RemoveCustomTextLabel(label), Times.Once);
        }