public void AddNumberForEvent_With_event_not_found_return_message() { List <NotificationEntity> notificationEntities = new List <NotificationEntity>(); notificationEntities.Add(new NotificationEntity { RowKey = "track", ProgramId = 1, SportId = 1, Message = "this track event" }); notificationEntities.Add(new NotificationEntity { RowKey = "polar", ProgramId = 2, SportId = 2, Message = "this polar plunge event" }); Mock <IRefRepository> mockRefRepository = new Mock <IRefRepository>(); mockRefRepository.Setup(repository => repository.GetEventByName(notificationEntities[0].RowKey)).ReturnsAsync(notificationEntities[0]); mockRefRepository.Setup(repository => repository.GetEventByName(notificationEntities[1].RowKey)).ReturnsAsync(notificationEntities[1]); RegistrantWorker worker = new RegistrantWorker(_mockTrainingRepository.Object, mockRefRepository.Object); EventTextDto dto = new EventTextDto { Zip = "22193", City = "Dale City", From = "17035551212", Message = "Bad" }; var actual = worker.AddNumberForEvent(dto); Assert.Equal("You text Bad", actual.Result.Message); _mockTrainingRepository.Verify(mock => mock.AddEvent(It.IsAny <EventInformation>()), Times.Never); //Assert.Equal(email1.Email, actual.Email1); //Assert.Equal(email2.Id, actual.RegistrantEmail2Id); //Assert.Equal(email2.Email, actual.Email2); //Assert.Equal(email3.Id, actual.RegistrantEmail3Id); //Assert.Equal(email3.Email, actual.Email3); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# PWSO receive sms message process."); var requestBody = await new StreamReader(req.Body).ReadToEndAsync(); log.LogInformation(requestBody); var formValues = requestBody.Split('&') .Select(value => value.Split('=')) .ToDictionary(pair => Uri.UnescapeDataString(pair[0]).Replace("+", " "), pair => Uri.UnescapeDataString(pair[1]).Replace("+", " ")); var dto = new EventTextDto { Message = formValues["Body"], From = formValues["From"], Zip = formValues["FromZip"], City = formValues["FromCity"] }; //var dto = new EventTextDto{Message = "Track", From = "17035901821", Zip = "22193", City = "Dale City"} ; string responseMessage; try { var connectionString = System.Environment.GetEnvironmentVariable("SQLAZURECONNSTR_TrainingModel"); var azureConnectionString = System.Environment.GetEnvironmentVariable("AzureStorageConnectionString"); var options = new DbContextOptionsBuilder <PwsodbContext>().UseSqlServer(connectionString ?? throw new InvalidOperationException()).Options; var context = new PwsodbContext(options); ITrainingRepository trainingRepository = new TrainingRepository(context); IRefRepository refRepository = new RefRepository(azureConnectionString); var worker = new RegistrantWorker(trainingRepository, refRepository); var notification = worker.AddNumberForEvent(dto); responseMessage = notification.Result.Message; } catch (Exception e) { log.LogError("Fatal Error: " + e.ToString()); throw; } responseMessage += ". This message is from the PWSO Notification System."; return(new OkObjectResult(responseMessage)); }