public void DenyFriendship_WhenError_ShouldRollback() { var firstUser = ModelTestHelper.CreateUser(-1, "aUser"); var secondUser = ModelTestHelper.CreateUser(-1, "aFriend", "secondEmail"); var userRepo = new UserRepository(); userRepo.SaveUser(firstUser); Assert.IsFalse(userRepo.HasErrors); userRepo.SaveUser(secondUser); Assert.IsFalse(userRepo.HasErrors); var friendship = ModelTestHelper.CreateFriendship(firstUser.Id, secondUser.Pseudo, DateTime.Now, true, true); var service = new FriendshipServices(); service.RequestFriendship(friendship, firstUser.Pseudo); Assert.IsFalse(service.HasErrors); var mock = new Mock <IUserRepository>(); mock.SetupGet(u => u.HasErrors).Returns(false); mock.Setup(s => s.GetUserInfo(It.IsAny <string>())).Returns(() => null); var mockService = new FriendshipServices(mock.Object, new FriendshipRepository()); mockService.DenyFriendship(friendship, firstUser.Pseudo); Assert.IsTrue(mockService.HasErrors); var dbFriendship = service.GetFriendship(friendship.UserId, friendship.FriendName); Assert.IsNotNull(dbFriendship); }
public void DenyFriendship_WhenException_ShouldRollback() { var firstUser = ModelTestHelper.CreateUser(-1, "aUser"); var secondUser = ModelTestHelper.CreateUser(-1, "aFriend", "secondEmail"); var userRepo = new UserRepository(); userRepo.SaveUser(firstUser); Assert.IsFalse(userRepo.HasErrors); userRepo.SaveUser(secondUser); Assert.IsFalse(userRepo.HasErrors); var friendship = ModelTestHelper.CreateFriendship(firstUser.Id, secondUser.Pseudo, DateTime.Now, true, true); var service = new FriendshipServices(); service.RequestFriendship(friendship, firstUser.Pseudo); Assert.IsFalse(service.HasErrors); var mock = new Mock <IUserRepository>(); mock.SetupGet(u => u.HasErrors).Throws(new Exception("Rollback")); var mockService = new FriendshipServices(mock.Object, new FriendshipRepository()); mockService.DenyFriendship(friendship, firstUser.Pseudo); Assert.IsTrue(mockService.HasErrors); var dbFriendship = service.GetFriendship(friendship.UserId, friendship.FriendName); Assert.IsNotNull(dbFriendship.IsWaiting); }
public void DenyFriendship_WhenValid_ShouldCommit() { var firstUser = ModelTestHelper.CreateUser(-1, "aUser"); var secondUser = ModelTestHelper.CreateUser(-1, "aFriend", "secondEmail"); var userRepo = new UserRepository(); userRepo.SaveUser(firstUser); Assert.IsFalse(userRepo.HasErrors); userRepo.SaveUser(secondUser); Assert.IsFalse(userRepo.HasErrors); var friendship = ModelTestHelper.CreateFriendship(firstUser.Id, secondUser.Pseudo, DateTime.Now, true, true); var service = new FriendshipServices(); service.RequestFriendship(friendship, firstUser.Pseudo); Assert.IsFalse(service.HasErrors); service.DenyFriendship(friendship, firstUser.Pseudo); Assert.IsFalse(service.HasErrors); var dbFriendship = service.GetFriendship(friendship.UserId, friendship.FriendName); Assert.IsNull(dbFriendship); var otherFriendship = service.GetFriendship(secondUser.Id, firstUser.Pseudo); Assert.IsNull(otherFriendship); }