public void Load_DbDoesNotContainsNode_ReturnsNull() { // Arrange var treeContext = new CachedTreeContext(); var dbTreeRepository = Substitute.For <IDbTreeRepository>(); var cachedTreeRepository = new CachedTreeRepository(treeContext, dbTreeRepository); // Act TreeNode treeNode = cachedTreeRepository.Load(Guid.NewGuid()); // Assert Assert.That(treeNode, Is.Null); }
public void Load_CacheDoesNotContainNode_NodeAddsToContext() { // Arrange var expectedNode = new TreeNode { Id = Guid.NewGuid() }; var treeContext = new CachedTreeContext(); var dbTreeRepository = Substitute.For <IDbTreeRepository>(); dbTreeRepository.GetById(expectedNode.Id).Returns(expectedNode); var cachedTreeRepository = new CachedTreeRepository(treeContext, dbTreeRepository); // Act cachedTreeRepository.Load(expectedNode.Id); // Assert Assert.That(treeContext.Tree, Contains.Key(expectedNode.Id)); }
public void Load_DeletedNode_ReturnsNull() { // Arrange var expectedNode = new TreeNode { Id = Guid.NewGuid(), IsDeleted = true }; var treeContext = new CachedTreeContext(); var dbTreeRepository = Substitute.For <IDbTreeRepository>(); dbTreeRepository.GetById(expectedNode.Id).Returns(expectedNode); var cachedTreeRepository = new CachedTreeRepository(treeContext, dbTreeRepository); // Act TreeNode treeNode = cachedTreeRepository.Load(expectedNode.Id); // Assert Assert.That(treeNode, Is.Null); }
public void Load_CacheDoesNotContainNode_ReturnsNodeWithRepositoryCall() { // Arrange var expectedNode = new TreeNode { Id = Guid.NewGuid() }; var treeContext = new CachedTreeContext(); var dbTreeRepository = Substitute.For <IDbTreeRepository>(); dbTreeRepository.GetById(expectedNode.Id).Returns(expectedNode); var cachedTreeRepository = new CachedTreeRepository(treeContext, dbTreeRepository); // Act TreeNode node = cachedTreeRepository.Load(expectedNode.Id); // Assert Assert.That(node.Id, Is.EqualTo(expectedNode.Id)); dbTreeRepository.Received().GetById(node.Id); }