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);
        }
Exemplo n.º 2
0
 /// <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);
        }
Exemplo n.º 4
0
        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}");
            }
        }