public void Get_ShouldReturnSuccess() { var testDbMessage = TestData.CreateDbMessage("2018MESSAGE-1", "test description", 0); context.Message.Add(testDbMessage); context.SaveChanges(); var result = controller.GetMessage(testDbMessage.Id) as ObjectResult; result.Should().BeOfType <OkObjectResult>(); result.StatusCode.Should().Be(200); var model = result.Value as Models.Message; model.Title.Should().Be("2018MESSAGE-1"); }
public async Task GetMessage_ValidMime() { DateTime startDate = DateTime.Now; DbModel.Message testMessage1 = await GetTestMessage1(); TestMessagesRepository messagesRepository = new TestMessagesRepository(testMessage1); MessagesController messagesController = new MessagesController(messagesRepository); ApiModel.Message result = messagesController.GetMessage(testMessage1.Id); Assert.Null(result.MimeParseError); Assert.Equal(testMessage1.Id, result.Id); Assert.InRange(result.ReceivedDate, startDate, DateTime.Now); Assert.Equal("*****@*****.**", result.From); Assert.Equal("*****@*****.**", result.To); Assert.Equal("*****@*****.**", result.Bcc); Assert.Equal("*****@*****.**", result.Cc); Assert.Equal("subject", result.Subject); var allParts = result.Parts.Flatten(p => p.ChildParts).ToList(); Assert.Equal(6, allParts.Count); Assert.All(allParts, p => { Assert.Equal(testMessage1.Id, p.MessageId); Assert.NotNull(p.Id); Assert.NotEqual("", p.Id); }); //All parts have a unique Id Assert.Equal(allParts.Count, allParts.Select(p => p.Id).Distinct().Count()); }
public async Task GetMessage_ExistingMessageIdPassed_ReturnsOkResult() { var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "1"), })); var repositoryMock = new Mock <IRepositoryWrapper>(); var messageToReturn = new Message { Id = 1 }; repositoryMock.Setup(r => r.MessageRepository.GetMessageAsync(1)).ReturnsAsync(() => messageToReturn); var mapperMock = new Mock <IMapper>(); var controllerMock = new MessagesController(repositoryMock.Object, mapperMock.Object); controllerMock.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; var result = await controllerMock.GetMessage(1, 1) as OkObjectResult; Assert.IsType <OkObjectResult>(result); Assert.Equal(messageToReturn, result.Value); }
public async Task GetMessage_NotExistingMessageIdPassed_ReturnsNotFound() { var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "1"), })); var repositoryMock = new Mock <IRepositoryWrapper>(); repositoryMock.Setup(r => r.MessageRepository.GetMessageAsync(0)).ReturnsAsync(() => null); var mapperMock = new Mock <IMapper>(); var controllerMock = new MessagesController(repositoryMock.Object, mapperMock.Object); controllerMock.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; var result = await controllerMock.GetMessage(1, 0); Assert.IsType <NotFoundResult>(result); }
public void GetMessage_ShouldReturnHelloWorldFirst() { using (var context = GetContextWithData()) { MessagesController controller = new MessagesController(context); IEnumerable <Message> results = controller.GetMessage(); Assert.NotNull(results); Assert.IsAssignableFrom <IEnumerable <Message> >(results); Assert.Equal("Hello World", results.Select(x => x.Text).FirstOrDefault()); } }
public void GetMessage_ReturnsBadRequestObjectResult_WhenTheMessageIdIsInvalid() { //Arrange var controller = new MessagesController(_loggerMock.Object, _mockMessagesService.Object, _mockUserService.Object); //Act var result = controller.GetMessage(ConstIds.InvalidGuid); //Assert var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(result.Result); Assert.Equal($"{ConstIds.InvalidGuid} is not valid guid.", badRequestObjectResult.Value); }
public async Task GetMessages_ShouldReturnNull() { int messageId = GetMessage().MessageId; _messageRepo.Setup(repo => repo.FindMessageAsync(messageId)) .Returns(Task.FromResult((Message)null)); var controller = new MessagesController(_messageRepo.Object); var actionResult = await controller.GetMessage(messageId); var result = actionResult.Value; Assert.IsNull(result); }
public async Task GetPartContent() { DbModel.Message testMessage1 = await GetTestMessage1(); TestMessagesRepository messagesRepository = new TestMessagesRepository(testMessage1); MessagesController messagesController = new MessagesController(messagesRepository); var parts = messagesController.GetMessage(testMessage1.Id).Parts.Flatten(p => p.ChildParts).SelectMany(p => p.Attachments); var part = parts.First(p => p.FileName == "file2"); var result = messagesController.GetPartContent(testMessage1.Id, part.Id); var stringResult = await new StreamReader(result.FileStream, Encoding.UTF8).ReadToEndAsync(); Assert.Equal(testMessage1File2Content, stringResult); }
public void Get_WhenAMessageIsFound_ReturnsOkResult() { // Arrange var messageId = Guid.NewGuid(); _repository.GetMessageByMessageId(messageId).Returns(new MessageResponse { MessageId = messageId, ReceiverPhoneNumber = "0412345678" }); // Action IHttpActionResult actionResult = _controller.GetMessage(messageId); var conNegResult = actionResult as OkNegotiatedContentResult <MessageResponse>; // Assert Assert.IsNotNull(conNegResult.Content); }
public void Get_ShouldReturnFail() { var mockContext = new Mock <HubDbContext>(options); mockContext.Setup(m => m.Message).Throws(new Exception()); var testDbMessage = TestData.CreateDbMessage("1", "test description", 0); context.Message.Add(testDbMessage); context.SaveChanges(); var badController = new MessagesController(mockContext.Object, logger.Object, mapper); var result = badController.GetMessage(testDbMessage.Id) as ObjectResult; result.Should().BeOfType <BadRequestObjectResult>(); result.StatusCode.Should().Be(400); }
public void GetMessage_ReturnsInternalServerErrorResult_WhenExceptionThrownInService() { //Arrange _mockMessagesService.Setup(Service => Service.GetMessage(It.IsAny <Guid>())) .Throws(new ArgumentNullException(nameof(Guid))) .Verifiable(); var controller = new MessagesController(_loggerMock.Object, _mockMessagesService.Object, _mockUserService.Object); //Act var result = controller.GetMessage(ConstIds.ExampleUserId); //Assert var internalServerErrorResult = Assert.IsType <StatusCodeResult>(result.Result); Assert.Equal(StatusCodes.Status500InternalServerError, internalServerErrorResult.StatusCode); _mockMessagesService.Verify(); }
public async void GetMessageInt_ShouldReturnGoodbyeWorldSecond() { int id = 2; using (var context = GetContextWithData()) { MessagesController controller = new MessagesController(context); IActionResult response = await controller.GetMessage(id); Assert.NotNull(response); OkObjectResult result = Assert.IsType <OkObjectResult>(response); Assert.Equal((int)HttpStatusCode.OK, result.StatusCode); Message msg = Assert.IsType <Message>(result.Value); Assert.Equal(id, msg.MessageID); Assert.Equal("Goodbye World", msg.Text); } }
public void GetMessage_ReturnsOkObjectResult_WithMessageData() { //Arrange var message = _fixture.Create <MessageDto>(); _mockMessagesService.Setup(Service => Service.GetMessage(It.IsAny <Guid>())) .Returns(message) .Verifiable(); var controller = new MessagesController(_loggerMock.Object, _mockMessagesService.Object, _mockUserService.Object); //Act var result = controller.GetMessage(ConstIds.ExampleUserId); //Assert var actionResult = Assert.IsType <OkObjectResult>(result.Result); var model = Assert.IsType <MessageDto>(actionResult.Value); Assert.Equal(message, model); _mockMessagesService.Verify(); }