public void AddDataIndexCommandSetsSelectedDataIndex() { var vm = new ProcessDataIndexesViewModel { Model = Mock.Create<ProcessEdit>(Behavior.Loose) }; Mock.Arrange(() => vm.Model.Id).Returns(1); var indexes = new ProcessDataIndexList(); Mock.Arrange(() => vm.Model.DataIndexes).Returns(indexes); Mock.Arrange(() => vm.Model.DataIndexes.Add(Arg.IsAny<ProcessDataIndexEdit>())).DoNothing(); Mock.Arrange(() => vm.Enabled).Returns(true); Mock.Arrange(() => vm.Model.BeingLocalized).Returns(false); Mock.Arrange(() => AggregateHelper.GetNextName(Arg.IsAny<IEnumerable<string>>(), Constants.NewDataIndexName)).Returns("anyName"); Mock.NonPublic.Arrange(vm, "RefreshUniqueDataIndexDisponible").DoNothing(); var indexEdit = new ProcessDataIndexEdit(); var task = TaskHelper.FromResult(indexEdit); var testComplited = false; Mock.Arrange(() => indexEdit.RecheckAllRules()).DoInstead(() => testComplited = true); Mock.Arrange(() => ProcessDataIndexEdit.BeginCreateNewDataIndexEdit()).Returns(task); vm.AddDataIndexCommand.Execute(null); EnqueueConditional(() => testComplited); EnqueueCallback(() => Assert.AreEqual("anyName", vm.SelectedDataIndex.Name)); EnqueueTestComplete(); }
public void ExecuteDeleteDataIndexRisesSetSelectedDataIndexIfAny() { var vm = new ProcessDataIndexesViewModel() { Model = Mock.Create<ProcessEdit>(Behavior.Loose), SelectedDataIndex = new ProcessDataIndexEdit() }; var dataIndexes = new ProcessDataIndexList(); Mock.Arrange(() => vm.Model.DataIndexes).Returns(dataIndexes); var called = false; Mock.NonPublic.Arrange(vm, "SetSelectedDataIndexIfAny").DoInstead(() => called = true); var privateAccessor = new PrivateAccessor(vm); privateAccessor.CallMethod("ExecuteDeleteDataIndex", vm.SelectedDataIndex); Assert.IsTrue(called); }