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(); }
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(); }
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(); }
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(); }