public void VerifyThatDiscussionsItemAreAddedAndRemoved() { this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true); var discussion1 = new EngineeringModelDataDiscussionItem(Guid.NewGuid(), this.assembler.Cache, this.uri); discussion1.Author = this.participant; discussion1.Content = "discussion 1"; this.rid.Discussion.Add(discussion1); var vm = new AnnotationFloatingDialogViewModel(this.rid, this.session.Object); Assert.AreEqual(1, vm.DiscussionRows.Count); var discussionRow = vm.DiscussionRows.Single(); discussionRow.Content = "mod"; discussionRow.SaveCommand.Execute(null); this.session.Verify(x => x.Write(It.IsAny <OperationContainer>())); discussionRow.CancelCommand.Execute(null); Assert.AreEqual(discussion1.Content, discussionRow.Content); this.rid.Discussion.Clear(); this.rev.SetValue(this.rid, 10); CDPMessageBus.Current.SendObjectChangeEvent(this.rid, EventKind.Updated); Assert.AreEqual(0, vm.DiscussionRows.Count); }
public void VerifyThatViewModelIsPopulatedAndCommandWorks() { this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true); this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true); this.rid.Title = "title"; this.rid.Content = "content"; this.rid.ShortName = "sn"; var vm = new AnnotationFloatingDialogViewModel(this.rid, this.session.Object); Assert.AreEqual(vm.ShortName, this.rid.ShortName); Assert.AreEqual(vm.Title, this.rid.Title); Assert.AreEqual(vm.Content, this.rid.Content); Assert.AreEqual(0, vm.DiscussionRows.Count); Assert.IsFalse(vm.PostDiscussionItemCommand.CanExecute(null)); vm.NewDiscussionItemText = "test"; Assert.IsTrue(vm.PostDiscussionItemCommand.CanExecute(null)); vm.PostDiscussionItemCommand.Execute(null); this.session.Verify(x => x.Write(It.IsAny <OperationContainer>())); }
/// <summary> /// Executes the <see cref="OpenAnnotationWindowCommand"/> /// </summary> /// <param name="annotation">The associated <see cref="ModellingAnnotationItem"/></param> protected override void ExecuteOpenAnnotationWindow(ModellingAnnotationItem annotation) { var vm = new AnnotationFloatingDialogViewModel(annotation, this.Session); this.DialogNavigationService.NavigateFloating(vm); }