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());
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        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);
        }
Ejemplo n.º 17
0
        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);
            }
        }
Ejemplo n.º 21
0
        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]);
        }