public async Task SendEmailShouldWork() { // Assert var mockCategoriesService = new Mock <ICategoriesService>(); var mockImagesService = new Mock <IImagesService>(); var mockPostsService = new Mock <IPostsService>(); var mockEmailSender = new Mock <IEmailSender>(); var inputModel = new EmailContactInputModel() { From = "*****@*****.**", FromName = "goshkoBRAT", Message = "gosho sum az", Subject = "za mene staa vupros", }; var controller = new HomeController( mockPostsService.Object, mockCategoriesService.Object, mockImagesService.Object, mockEmailSender.Object); // Act var result = await controller.SendEmailAsync(inputModel); // Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Home", redirectToActionResult.ControllerName); Assert.Equal("Index", redirectToActionResult.ActionName); }
public async Task <IActionResult> SendEmailAsync(EmailContactInputModel inputModel) { if (!this.ModelState.IsValid) { return(this.RedirectToAction("About", "Home")); } await this.emailSender.SendEmailAsync(inputModel.From, inputModel.FromName, GlobalConstants.SystemEmail, inputModel.Subject, inputModel.Message); return(this.RedirectToAction("Index", "Home")); }