AddOrUpdateEntryAndDeleteAllChildrenFromStorage() public method

Adds or update an entry and deletes all children from storage.
public AddOrUpdateEntryAndDeleteAllChildrenFromStorage ( IIgnoredEntity e ) : void
e IIgnoredEntity Ignored Entity.
return void
コード例 #1
0
        public void StorageDeletesAllChildrenOfStoredEntry() {
            var objectId = Guid.NewGuid().ToString();
            var subObjectId = Guid.NewGuid().ToString();
            var collection = new Mock<IIgnoredEntitiesCollection>();
            var storage = new Mock<IMetaDataStorage>(MockBehavior.Strict);
            var folder = Mock.Of<IMappedObject>(f => f.Type == MappedObjectType.Folder && f.RemoteObjectId == objectId);
            var subFolder = Mock.Of<IMappedObject>(f => f.RemoteObjectId == subObjectId && f.ParentId == objectId);
            var children = new List<IMappedObject>();
            children.Add(subFolder);
            storage.AddMappedFolder(folder);
            storage.Setup(s => s.GetChildren(folder)).Returns(children);
            storage.Setup(s => s.RemoveObject(subFolder));
            storage.AddMappedFolder(subFolder);
            var entry = Mock.Of<IIgnoredEntity>(e => e.ObjectId == objectId);
            var underTest = new IgnoredEntitiesStorage(collection.Object, storage.Object);

            underTest.AddOrUpdateEntryAndDeleteAllChildrenFromStorage(entry);

            collection.Verify(c => c.Add(entry), Times.Once);
            storage.Verify(s => s.RemoveObject(subFolder), Times.Once);
        }