예제 #1
0
        public void Post_ShouldReturnSuccess()
        {
            var testDbMessage = TestData.CreateDbMessage("2018MESSAGE-1", "test description", 0);

            var result = controller.AddMessage(mapper.Map <Models.Message>(testDbMessage)) as ObjectResult;

            result.StatusCode.Should().Be(201);
            result.Should().BeOfType <CreatedAtRouteResult>();
            var model = result.Value as Models.Message;

            model.Title.Should().Be("2018MESSAGE-1");
        }
예제 #2
0
        public async void AddMessage_ReturnsCreatedAtRouteResult_WithMessageData()
        {
            //Arrange
            _mockUserService.Setup(Service => Service.CheckIfUserExists(It.IsAny <Guid>()))
            .ReturnsAsync(true)
            .Verifiable();
            MessageDto messageEntity = _mapper.Map <MessageDto>(_messageToAdd);

            messageEntity.Id = new Guid(ConstIds.ExampleMessageId);

            _mockMessagesService.Setup(Service => Service.AddMessageAsync(It.IsAny <Guid>(), It.IsAny <MessageToAddDto>()))
            .ReturnsAsync(messageEntity)
            .Verifiable();

            var controller = new MessagesController(_loggerMock.Object, _mockMessagesService.Object, _mockUserService.Object);

            //Act
            var result = await controller.AddMessage(ConstIds.ExampleUserId, _messageToAdd);

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

            Assert.Equal(ConstIds.ExampleUserId, redirectToActionResult.RouteValues["userId"].ToString());
            Assert.Equal(ConstIds.ExampleMessageId, redirectToActionResult.RouteValues["messageId"].ToString());
            Assert.Equal("GetMessage", redirectToActionResult.RouteName);
            Assert.IsType <MessageDto>(redirectToActionResult.Value);

            _mockUserService.Verify();
            _mockMessagesService.Verify();
        }
예제 #3
0
        public async void AddMessage_ReturnsBadRequestObjectResult_WhenTheUserIdIsInvalid()
        {
            //Arrange
            var controller = new MessagesController(_loggerMock.Object, _mockMessagesService.Object, _mockUserService.Object);

            //Act
            var result = await controller.AddMessage(ConstIds.InvalidGuid, _messageToAdd);

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

            Assert.Equal($"{ConstIds.InvalidGuid} is not valid guid.", badRequestObjectResult.Value);
        }
예제 #4
0
        public async void AddPost_ReturnsInternalServerErrorResult_WhenExceptionThrownInService()
        {
            //Arrange
            _mockUserService.Setup(Service => Service.CheckIfUserExists(It.IsAny <Guid>()))
            .Throws(new ArgumentNullException(nameof(Guid)))
            .Verifiable();

            var controller = new MessagesController(_loggerMock.Object, _mockMessagesService.Object, _mockUserService.Object);

            //Act
            var result = await controller.AddMessage(ConstIds.ExampleUserId, _messageToAdd);

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

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

            var controller = new MessagesController(_loggerMock.Object, _mockMessagesService.Object, _mockUserService.Object);

            //Act
            var result = await controller.AddMessage(ConstIds.ExampleUserId, _messageToAdd);

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

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