public async Task GetReceivedFriendships_HaveReceivedFriendships_ReturnOkObjectResultWithListOfReceivedFriendsipDtos()
        {
            // Arrange
            var friendship1 = new Friendship
            {
                FromUserId = user2.Id,
                FromUser   = user2,
                ToUserId   = user1.Id,
                ToUser     = user1,
                State      = FriendshipState.Accepted,
                Id         = Guid.NewGuid(),
            };
            var friendship2 = new Friendship
            {
                FromUserId = user3.Id,
                FromUser   = user3,
                ToUserId   = user1.Id,
                ToUser     = user1,
                State      = FriendshipState.Accepted,
                Id         = Guid.NewGuid(),
            };
            var mockService = new Mock <IFriendshipService>();

            mockService.Setup(service => service.GetReceivedFriendshipsAsync())
            .ReturnsAsync(new List <Friendship> {
                friendship1, friendship2
            });

            var controller = new FriendshipController(mockService.Object, mapper);

            // Act
            var result = await controller.GetReceivedFriendships();

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOf <ActionResult>(result.Result);
            Assert.IsInstanceOf <OkObjectResult>(result.Result);
            var objectResult = (result.Result as ObjectResult);

            Assert.AreEqual(objectResult.StatusCode, 200);
            var sentFriendshipDtos = (IEnumerable <ReceivedFriendshipDto>)(result.Result as OkObjectResult).Value;

            Assert.AreEqual(sentFriendshipDtos.Count(), 2);
        }
        public async Task GetReceivedFriendships_HaveNotReceivedFriendships_ReturnOkObjectResultWithEmptyList()
        {
            // Arrange
            var mockService = new Mock <IFriendshipService>();

            var controller = new FriendshipController(mockService.Object, mapper);

            // Act
            var result = await controller.GetReceivedFriendships();

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOf <ActionResult>(result.Result);
            Assert.IsInstanceOf <OkObjectResult>(result.Result);
            var objectResult = (result.Result as ObjectResult);

            Assert.AreEqual(objectResult.StatusCode, 200);
            var sentFriendshipDtos = (IEnumerable <ReceivedFriendshipDto>)(result.Result as OkObjectResult).Value;

            Assert.IsEmpty(sentFriendshipDtos);
        }