public void VerifyThatPropertiesAreSet() { var domainFileStoreRowViewModel = new DomainFileStoreRowViewModel(this.store, this.session.Object, null); this.file.FileRevision.Add(this.fileRevision1); var viewModel = new FileRowViewModel(this.file, this.session.Object, domainFileStoreRowViewModel, this.fileStoreFileAndFolderHandler.Object); Assert.AreEqual(this.fileRevision1.CreatedOn.ToString(CultureInfo.InvariantCulture), viewModel.CreatedOn); Assert.AreEqual(this.fileRevision1.Name, viewModel.Name); Assert.AreEqual(this.fileRevision1.Creator.Person.Name, viewModel.CreatorValue); Assert.IsFalse(viewModel.IsLocked); Assert.AreEqual(string.Empty, viewModel.Locker); Assert.AreEqual("1", viewModel.Name); this.fileStoreFileAndFolderHandler.Verify(x => x.UpdateFileRowPosition(this.file, It.IsAny <FileRevision>()), Times.Never); this.file.LockedBy = this.person; this.revisionNumberPropertyInfo.SetValue(this.file, 10); CDPMessageBus.Current.SendObjectChangeEvent(this.file, EventKind.Updated); Assert.IsTrue(viewModel.IsLocked); Assert.AreEqual("John Doe", viewModel.Locker); this.fileStoreFileAndFolderHandler.Verify(x => x.UpdateFileRowPosition(this.file, It.IsAny <FileRevision>()), Times.Never); this.file.FileRevision.Add(this.fileRevision2); this.revisionNumberPropertyInfo.SetValue(this.file, 11); CDPMessageBus.Current.SendObjectChangeEvent(this.file, EventKind.Updated); Assert.AreEqual(this.fileRevision2.CreatedOn.ToString(CultureInfo.InvariantCulture), viewModel.CreatedOn); Assert.AreEqual(this.fileRevision2.Name, viewModel.Name); Assert.AreEqual(this.fileRevision2.Creator.Person.Name, viewModel.CreatorValue); this.fileStoreFileAndFolderHandler.Verify(x => x.UpdateFileRowPosition(this.file, It.IsAny <FileRevision>()), Times.Once); }
public void VerifyUpdateFileRowsAddsNewFiles() { this.store.Folder.Add(this.folder1); this.file.FileRevision.Add(this.fileRevision1); this.file1.FileRevision.Add(this.file1Revision1); this.file.FileRevision.First().ContainingFolder = this.folder1; this.store.File.Add(this.file); this.store.File.Add(this.file1); var row = new DomainFileStoreRowViewModel(this.store, this.session.Object, null); Assert.AreEqual(2, row.ContainedRows.Count); Assert.AreEqual(this.folder1.Name, row.ContainedRows.OfType <FolderRowViewModel>().FirstOrDefault()?.Name); Assert.AreEqual(1, row.ContainedRows.OfType <FolderRowViewModel>().FirstOrDefault()?.ContainedRows.Count); Assert.IsInstanceOf <FileRowViewModel>(row.ContainedRows[1]); }
public void VerifyUpdateFolderRowsAddsNewFolders() { this.store = new DomainFileStore(Guid.NewGuid(), this.assembler.Cache, this.uri); var newTopLevelFolder = new Folder(); newTopLevelFolder.Name = "TopLevelFolder"; var newContainedFolder = new Folder(); newContainedFolder.Name = "ContainedFolder"; newContainedFolder.ContainingFolder = newTopLevelFolder; this.store.Folder.Add(newTopLevelFolder); this.store.Folder.Add(newContainedFolder); var row = new DomainFileStoreRowViewModel(store, session.Object, null); Assert.AreSame(newTopLevelFolder.Name, ((FolderRowViewModel)row.ContainedRows.FirstOrDefault()).Name); Assert.AreSame(newContainedFolder.Name, ((FolderRowViewModel)row.ContainedRows.FirstOrDefault().ContainedRows.FirstOrDefault()).Name); }
public void VerifyUpdateFolderRowsAddsNewFolders() { var newTopLevelFolder = new Folder { Name = "TopLevelFolder" }; var newContainedFolder = new Folder { Name = "ContainedFolder", ContainingFolder = newTopLevelFolder }; this.store.Folder.Add(newTopLevelFolder); this.store.Folder.Add(newContainedFolder); var row = new DomainFileStoreRowViewModel(this.store, this.session.Object, null); Assert.AreSame(newTopLevelFolder.Name, row.ContainedRows.OfType <FolderRowViewModel>().FirstOrDefault()?.Name); Assert.AreSame(newContainedFolder.Name, row.ContainedRows.OfType <FolderRowViewModel>().FirstOrDefault()?.ContainedRows.OfType <FolderRowViewModel>().FirstOrDefault()?.Name); }
public async Task VerifyThatDropWorks() { var row = new DomainFileStoreRowViewModel(this.store, this.session.Object, null); var dropTarget = new Mock <IDropTarget>(); var dropinfo = new Mock <IDropInfo>(); dropinfo.Setup(x => x.Payload).Returns(this.file); dropinfo.Setup(x => x.Effects).Returns(DragDropEffects.Copy); dropinfo.Setup(x => x.TargetItem).Returns(dropTarget.Object); await row.Drop(dropinfo.Object); this.session.VerifyGet(x => x.OpenIterations, Times.Never); this.file.CurrentContainingFolder = this.folder1; await row.Drop(dropinfo.Object); this.session.VerifyGet(x => x.OpenIterations, Times.Once); }
public void VerifyThatDragOverWorks() { var row = new DomainFileStoreRowViewModel(this.store, this.session.Object, null); var dropinfo = new Mock <IDropInfo>(); dropinfo.Setup(x => x.Payload).Returns(this.file); row.DragOver(dropinfo.Object); dropinfo.VerifySet(x => x.Effects = DragDropEffects.None); this.file.CurrentContainingFolder = this.folder1; row.DragOver(dropinfo.Object); dropinfo.VerifySet(x => x.Effects = DragDropEffects.Copy); this.file.Container = this.folder1; row.DragOver(dropinfo.Object); dropinfo.VerifySet(x => x.Effects = DragDropEffects.None, Times.Exactly(2)); }
public void VerifyUpdateFileRowsAddsNewFiles() { this.store = new DomainFileStore(Guid.NewGuid(), this.assembler.Cache, this.uri); this.folder1 = new Folder(Guid.NewGuid(), this.assembler.Cache, this.uri) { Name = "1", CreatedOn = new DateTime(1, 1, 1), Creator = this.participant }; this.store.Folder.Add(this.folder1); this.file.FileRevision.Add(this.fileRevision1); this.file1.FileRevision.Add(this.file1Revision1); this.file.FileRevision.First().ContainingFolder = this.folder1; this.store.File.Add(this.file); this.store.File.Add(file1); var row = new DomainFileStoreRowViewModel(store, session.Object, null); Assert.AreEqual(2, row.ContainedRows.Count); Assert.AreEqual(folder1.Name, ((FolderRowViewModel)row.ContainedRows.FirstOrDefault()).Name); Assert.AreEqual(1, ((FolderRowViewModel)row.ContainedRows.FirstOrDefault()).ContainedRows.Count); Assert.IsInstanceOf <FileRowViewModel>(row.ContainedRows[1]); }