public async void AddRelation_ReturnsCreatedAtRouteResult_WithRelationData()
        {
            //Arrange
            _mockUserService.Setup(Service => Service.CheckIfUserExists(It.IsAny <Guid>()))
            .ReturnsAsync(true)
            .Verifiable();

            FriendsRelationDto relationEntity = _mapper.Map <FriendsRelationDto>(_relationToAdd);

            relationEntity.UserId   = new Guid(ConstIds.ExampleUserId);
            relationEntity.FriendId = new Guid(ConstIds.ExampleFromWhoId);

            _mockRelationService.Setup(Service => Service.AddRelationAsync(It.IsAny <Guid>(), It.IsAny <FriendsRelationToAddDto>()))
            .ReturnsAsync(relationEntity)
            .Verifiable();

            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = await controller.AddRelation(ConstIds.ExampleUserId, _relationToAdd);

            //Assert
            var redirectToActionResult = Assert.IsType <CreatedAtRouteResult>(result.Result);

            Assert.Equal(ConstIds.ExampleUserId, redirectToActionResult.RouteValues["userId"].ToString());
            Assert.Equal(ConstIds.ExampleFromWhoId, redirectToActionResult.RouteValues["friendId"].ToString());
            Assert.Equal("GetRelation", redirectToActionResult.RouteName);
            Assert.IsType <FriendsRelationDto>(redirectToActionResult.Value);
            _mockUserService.Verify();
            _mockRelationService.Verify();
        }
Beispiel #2
0
        public async void GetUserRelations_ReturnsBadRequestObjectResult_WhenTheUserIdIsInvalid()
        {
            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = await controller.GetUserFriends(ConstIds.InvalidGuid, _paginationsParams);

            //Assert
            var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(result.Result);

            Assert.Equal($"{ConstIds.InvalidGuid} is not valid guid.", badRequestObjectResult.Value);
        }
        public void GetRelation_ReturnsBadRequestObjectResult_WhenTheUserOrFriendIdIsInvalid(string testUserId, string testFriendId)
        {
            //Arrange
            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = controller.GetRelation(testUserId, testFriendId);

            //Assert
            var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(result.Result);

            Assert.Equal($"{testUserId} or {testFriendId} is not valid guid.", badRequestObjectResult.Value);
        }
        public async void AddRelation_ReturnsBadRequestObjectResult_WhenTheUserIdIsInvalid()
        {
            //Arrange
            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = await controller.AddRelation(ConstIds.InvalidGuid, _relationToAdd);

            //Assert
            var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(result.Result);

            Assert.Equal($"{ConstIds.InvalidGuid} is not valid guid.", badRequestObjectResult.Value);
        }
        public void GetRelation_ReturnsInternalServerErrorResult_WhenExceptionThrownInService()
        {
            //Arrange
            _mockRelationService.Setup(Service => Service.GetFriendRelation(It.IsAny <Guid>(), It.IsAny <Guid>()))
            .Throws(new ArgumentNullException(nameof(Guid)))
            .Verifiable();

            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);
            //Act
            var result = controller.GetRelation(ConstIds.ExampleUserId, ConstIds.ExampleFromWhoId);
            //Assert
            var internalServerErrorResult = Assert.IsType <StatusCodeResult>(result.Result);

            Assert.Equal(StatusCodes.Status500InternalServerError, internalServerErrorResult.StatusCode);
            _mockRelationService.Verify();
        }
Beispiel #6
0
        public async void GetUserRelations_ReturnsInternalServerErrorResult_WhenExceptionThrownInService()
        {
            //Arrange
            _mockUserService.Setup(Service => Service.CheckIfUserExists(It.IsAny <Guid>()))
            .Throws(new ArgumentNullException(nameof(Guid)))
            .Verifiable();

            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = await controller.GetUserFriends(ConstIds.ExampleUserId, _paginationsParams);

            //Assert
            var internalServerErrorResult = Assert.IsType <StatusCodeResult>(result.Result);

            Assert.Equal(StatusCodes.Status500InternalServerError, internalServerErrorResult.StatusCode);
            _mockUserService.Verify();
        }
Beispiel #7
0
        public async void GetUserRelations_ReturnsNotFoundObjectResult_WhenTheUserDoesntExist()
        {
            //Arrange
            _mockUserService.Setup(Service => Service.CheckIfUserExists(It.IsAny <Guid>()))
            .ReturnsAsync(false)
            .Verifiable();

            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = await controller.GetUserFriends(ConstIds.ExampleUserId, _paginationsParams);

            //Assert
            var notFoundObjectResult = Assert.IsType <NotFoundObjectResult>(result.Result);

            Assert.Equal($"User: {ConstIds.ExampleUserId} not found.", notFoundObjectResult.Value);
            _mockUserService.Verify();
        }
        public void GetRelation_ReturnsOkObjectResult_WithFriendsRelationData()
        {
            //Arrange
            var relation = GetTestRelationData().ElementAt(0);

            _mockRelationService.Setup(Service => Service.GetFriendRelation(It.IsAny <Guid>(), It.IsAny <Guid>()))
            .Returns(relation)
            .Verifiable();

            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = controller.GetRelation(ConstIds.ExampleUserId, ConstIds.ExampleFromWhoId);

            //Assert
            var actionResult = Assert.IsType <OkObjectResult>(result.Result);
            var model        = Assert.IsType <FriendsRelationDto>(actionResult.Value);

            Assert.Equal(relation, model);
            _mockRelationService.Verify();
        }
        public async void DeleteRelation_ReturnsNoContentResult_WhenTheRelationHasBeenRemoved()
        {
            //Arrange
            var relationToRemove = GetTestRelationData().ElementAt(0);

            _mockUserService.Setup(Service => Service.CheckIfUserExists(It.IsAny <Guid>()))
            .ReturnsAsync(true)
            .Verifiable();
            _mockRelationService.Setup(Service => Service.DeleteRelationAsync(It.IsAny <Guid>(), It.IsAny <Guid>()))
            .Verifiable();

            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = await controller.DeleteRelation(ConstIds.ExampleUserId, ConstIds.ExampleFromWhoId);

            //Act
            var noContentResult = Assert.IsType <NoContentResult>(result);

            _mockUserService.Verify();
            _mockRelationService.Verify();
        }
        public async void AddRelation_ReturnsNotFoundObjectResult_WhenTheUserOrFriendDoesntExist(bool doesTheUserExist, bool doesTheFriendExist)
        {
            //Arrange
            _mockUserService.Setup(Service => Service.CheckIfUserExists(new Guid(ConstIds.ExampleUserId)))
            .ReturnsAsync(doesTheUserExist)
            .Verifiable();
            if (doesTheUserExist)
            {
                _mockUserService.Setup(Service => Service.CheckIfUserExists(It.IsNotIn <Guid>(new Guid(ConstIds.ExampleUserId))))
                .ReturnsAsync(doesTheFriendExist)
                .Verifiable();
            }

            var controller = new FriendsRelationsController(_loggerMock.Object, _mockUserService.Object, _mockRelationService.Object);

            //Act
            var result = await controller.AddRelation(ConstIds.ExampleUserId, _relationToAdd);

            //Assert
            var notFoundObjectResult = Assert.IsType <NotFoundObjectResult>(result.Result);

            Assert.Equal($"User: {ConstIds.ExampleUserId} or friend: {_relationToAdd.FriendId} not found.", notFoundObjectResult.Value);
            _mockUserService.Verify();
        }