public void Delete_throws_BadRequest_if_either_User_not_passed(string userId, string friendId) { var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.Delete(userId, friendId)); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.BadRequest)); }
public void Delete_throws_Forbidden_if_User_not_in_Friendship() { var userId = "robcory-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.Delete("foxyboots9-guid", "coryhome-guid")); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.Forbidden)); }
public void Delete_throws_NotFound_if_Users_not_connected() { var userId = "coryhome-guid"; var friendId = "robcory-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.Delete(userId, friendId)); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.NotFound)); }
public void DeleteConfirmed_throws_BadRequest_if_either_User_not_passed(string userId, string friendId) { var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.DeleteConfirmed(userId, friendId)); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.BadRequest)); mockDbContext.MockFriendships.Verify(m => m.Remove(It.IsAny <Friendship>()), Times.Never()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.Never()); }
public async Task Waiting_passes_RequestConfirmed_to_ViewBag(bool RequestConfirmed) { var userId = "foxyboots9-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.Waiting(RequestConfirmed) as ViewResult; Assert.IsNotNull(result); Assert.AreEqual(RequestConfirmed, result.ViewBag.RequestConfirmed); }
public async Task DeleteConfirmed_redirects_to_Index_if_valid(string userId, string friendId) { var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.DeleteConfirmed(userId, friendId) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual("Index", result.RouteValues["action"]); mockDbContext.MockFriendships.Verify(m => m.Remove(It.IsAny <Friendship>()), Times.AtLeastOnce()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.AtLeastOnce()); }
public void DeleteConfirmed_throws_Forbidden_if_User_not_in_Friendship() { var userId = "robcory-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.DeleteConfirmed("foxyboots9-guid", "coryhome-guid")); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.Forbidden)); mockDbContext.MockFriendships.Verify(m => m.Remove(It.IsAny <Friendship>()), Times.Never()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.Never()); }
public async Task Delete_returns_Delete_View_if_Users_connected(string userId, string friendId) { var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.Delete(userId, friendId) as ViewResult; Assert.IsNotNull(result); var model = result.Model as FriendshipWithNames; Assert.IsNotNull(model); }
public void Confirm_throws_BadRequest_if_no_userId_passed() { var userId = "foxyboots9-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.Confirm(null)); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.BadRequest)); mockDbContext.MockFriendships.Verify(m => m.Add(It.IsAny <Friendship>()), Times.Never()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.Never()); }
public async Task SearchForNew_returns_SearchForNew_ViewModel() { var userId = "foxyboots9-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.SearchForNew() as ViewResult; Assert.IsNotNull(result); var model = result.Model as SearchForNewViewModel; Assert.IsNotNull(model); }
public void Create_throws_NotFound_if_target_User_not_found() { var userId = "robcory-guid"; var targetUserId = "nosuchuser-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.Create(targetUserId)); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.NotFound)); mockDbContext.MockFriendships.Verify(m => m.Add(It.IsAny <Friendship>()), Times.Never()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.Never()); }
public void DeleteConfirmed_throws_NotFound_if_Users_not_connected() { var userId = "coryhome-guid"; var friendId = "robcory-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var httpException = Assert.ThrowsAsync <HttpException>(async() => await controller.DeleteConfirmed(userId, friendId)); Assert.That(httpException.GetHttpCode(), Is.EqualTo((int)HttpStatusCode.NotFound)); mockDbContext.MockFriendships.Verify(m => m.Remove(It.IsAny <Friendship>()), Times.Never()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.Never()); }
public async Task Create_redirects_to_Index_if_valid() { var userId = "robcory-guid"; var targetUserId = "coryhome-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.Create(targetUserId) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual("Index", result.RouteValues["action"]); Assert.AreEqual(true, result.RouteValues["RequestSent"]); mockDbContext.MockFriendships.Verify(m => m.Add(It.IsAny <Friendship>()), Times.AtMostOnce()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.AtLeastOnce()); }
public async Task Confirm_redirects_to_Waiting_if_valid() { var userId = "rsoame-guid"; var requestorId = "robcory-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.Confirm(requestorId) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual("Waiting", result.RouteValues["action"]); Assert.AreEqual(true, result.RouteValues["RequestConfirmed"]); mockDbContext.MockFriendships.Verify(m => m.Add(It.IsAny <Friendship>()), Times.AtMostOnce()); mockDbContext.Verify(m => m.SaveChangesAsync(), Times.AtLeastOnce()); }
public void GetFriends_ReturnsNotFoundWhenFriendsAreNone() { //Arrange Mock <IFriendshipRepository> mockFrienshipRepository = new Mock <IFriendshipRepository>(); mockFrienshipRepository.Setup(fr => fr.GetFriends(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())).Returns((IEnumerable <Friendship>)null); var controller = new FriendshipsController(mockFrienshipRepository.Object); //Act var result = controller.GetFriends(1, 1, 5).Result; //Assert Assert.IsInstanceOf <NotFoundResult>(result); }
public void GetFriendship_InvalidFriendshipNotFound() { //Arrange Mock <IFriendshipRepository> mockFriendshipRepository = new Mock <IFriendshipRepository>(); mockFriendshipRepository.Setup(mr => mr.GetFriendship( It.IsAny <int>(), It.IsAny <int>())).Returns((int i, int j) => friendships.Where( (x, y) => x.UserId_1 == i && x.UserId_2 == j).SingleOrDefault()); var controller = new FriendshipsController(mockFriendshipRepository.Object); //Act Friendship friend = (Friendship)controller.GetFriendship(1, 1).Value; //Assert Assert.Null(friend); }
public void GetFriendships_ReturnsAll() { //Arrange Mock <IFriendshipRepository> mockFrienshipRepository = new Mock <IFriendshipRepository>(); mockFrienshipRepository.Setup(fr => fr.GetAll(1, 12)).Returns(friendships); var controller = new FriendshipsController(mockFrienshipRepository.Object); //Act List <Friendship> allFriendships = (List <Friendship>)controller.GetFriendships(1, 12).Value; Console.WriteLine(allFriendships); //Assert Assert.AreEqual(12, allFriendships.Count()); Assert.AreEqual(allFriendships, friendships); }
public async Task Index_returns_logged_in_Users_Friendships_in_View() { var userId = "foxyboots9-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.Index() as ViewResult; Assert.IsNotNull(result); var model = result.Model as IEnumerable <FriendshipWithNames>; Assert.IsNotNull(model); foreach (var friendship in model) { Assert.That(friendship.FriendId == userId || friendship.UserId == userId); } }
public async Task SearchForNew_returns_paged_SearchForNewViewModel( int page, int take, int expected, bool moreResults) { var userId = "foxyboots9-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.SearchForNew(page, take) as ViewResult; Assert.IsNotNull(result); var model = result.Model as SearchForNewViewModel; Assert.IsNotNull(model); Assert.AreEqual(expected, model.FriendSuggestions.Count()); Assert.AreEqual(moreResults, model.HasMore); Assert.AreEqual(page, model.PageNumber); Assert.AreEqual(take, model.UsersPerPage); }
public async Task Waiting_returns_Friendships_waiting_for_approval() { var userId = "foxyboots9-guid"; var mockDbContext = new MockContext(); var controller = new FriendshipsController(mockDbContext.Object, () => userId); var result = await controller.Waiting() as ViewResult; Assert.IsNotNull(result); var model = result.Model as IEnumerable <FriendshipWithNames>; Assert.IsNotNull(model); foreach (var friendship in model) { Assert.That(friendship.FriendId == userId && !friendship.RequestApproved.HasValue); } }
public void GetFriendship_ValidFriendshipsAreNotNull() { //Arrange Mock <IFriendshipRepository> mockFrienshipRepository = new Mock <IFriendshipRepository>(); mockFrienshipRepository.Setup(mr => mr.GetFriendship( It.IsAny <int>(), It.IsAny <int>())).Returns((int i, int j) => friendships.Where( (x, y) => x.UserId_1 == i && x.UserId_2 == j).SingleOrDefault()); var controller = new FriendshipsController(mockFrienshipRepository.Object); //Act Friendship friend = (Friendship)controller.GetFriendship(2, 3).Value; Console.WriteLine(friend.UserId_1); //Assert Assert.IsNotNull(friend); Assert.AreEqual(friend, friendships[2]); }