public async void Task_Add_ValidData_MatchResult() { //Arrange var dbContext = PublicMessageContextMocker.GetPublicMessageContextForTests(nameof(Task_Add_ValidData_MatchResult)); ILoggerFactory factory = new LoggerFactory(); ILogger <PublicMessageController> _log = new Logger <PublicMessageController>(factory); var controller = new PublicMessageController(dbContext, _log); var post = new PublicMessageDTO { MessageId = 8, Title = "Sample message title 8", AddressedTo = "XYZsdkdkjdkksd", ValidUntil = "12th of April, 2021", MessageContent = "Some message content", ClientEmailId = "*****@*****.**", ClientName = "Some test" }; //Act var data = await controller.CreateNewPublicMessage(post); //Assert Assert.IsType <OkObjectResult>(data.Result); Assert.Equal("Sample message title 8", data.Value.Title); }
/// <summary> /// Method used by controller to convert public message DTO to public message /// </summary> /// <param name="publicMessageDTO"></param> /// <returns>PublicMessage object</returns> private static PublicMessage PublicMessageDTOToPublicMessage(PublicMessageDTO publicMessageDTO) => new PublicMessage { Title = publicMessageDTO.Title, MessageContent = publicMessageDTO.MessageContent, PostedOn = DateTime.Now.ToLongDateString(), ValidUntil = publicMessageDTO.ValidUntil, AddressedTo = publicMessageDTO.AddressedTo, Client = new Client { FullName = publicMessageDTO.ClientName, EmailId = publicMessageDTO.ClientEmailId } };
public async void Task_Add_InvalidData_Return_BadRequest() { //Arrange var dbContext = PublicMessageContextMocker.GetPublicMessageContextForTests(nameof(Task_Add_InvalidData_Return_BadRequest)); ILoggerFactory factory = new LoggerFactory(); ILogger <PublicMessageController> _log = new Logger <PublicMessageController>(factory); var controller = new PublicMessageController(dbContext, _log); PublicMessageDTO post = null; //Act var data = await controller.CreateNewPublicMessage(post); //Assert Assert.IsType <BadRequestResult>(data.Result); }
public async Task <ActionResult <PublicMessage> > CreateNewPublicMessage(PublicMessageDTO publicMessageDTO) { Stopwatch sw = new Stopwatch(); sw.Start(); try { if (publicMessageDTO == null) { //throw new ArgumentNullException("Public Message", "Public Message cannot be null"); return(BadRequest()); } PublicMessage publicMessage = PublicMessageDTOToPublicMessage(publicMessageDTO); _context.PublicMessages.Append(publicMessage); _context.Clients.Append(publicMessage.Client); await _context.SaveChangesAsync(); //return CreatedAtAction("GetPublicMessage", new { id = publicMessage.MessageId }, publicMessage); return(CreatedAtAction(nameof(GetPublicMessage), new { id = publicMessage.MessageId }, PublicMessageToDTO(publicMessage))); } catch (ArgumentNullException ex) { _log.PublicMessageSingleLogError(ex.Message + " Stack trace: " + ex.StackTrace); return(StatusCode(404, new MessageError(ex.Message, ex.StackTrace))); } catch (Exception ex) { _log.PublicMessageSingleLogError(ex.Message + " Stack trace: " + ex.StackTrace); return(StatusCode(500, new MessageError(ex.Message, ex.StackTrace))); } finally { sw.Stop(); _log.PublicMessageSingleLogError($"PublicMessage Controller. Elapsed : { sw.Elapsed.TotalMilliseconds}"); } }