public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = "jobconfigs/{channelid:decimal}")] HttpRequest req, decimal channelId, ILogger log) { var container = await req.Body.ReadToEndAsync <JobConfigContainer>(); var connectionString = Environment.GetEnvironmentVariable("TrendingGiphyBotConnectionString"); var logWrapper = new LoggerWrapper(log); using (var context = new TrendingGiphyBotContext(connectionString)) { var postJobConfigHelper = new PostJobConfigHelper(logWrapper, context); return(await postJobConfigHelper.RunAsync(container, channelId)); } }
public async Task RunAsync() { const decimal channelId = 123; _Log.Setup(s => s.LogInformation($"Channel {channelId} posting job config.")); var container = new JobConfigContainer(); var updatedContainer = new JobConfigContainer(); _Context.Setup(s => s.SetJobConfig(channelId, container)).ReturnsAsync(updatedContainer); _Log.Setup(s => s.LogInformation($"Channel {channelId} posted job config.")); var result = await _PostJobConfigHelper.RunAsync(container, channelId); _Log.VerifyAll(); _Context.VerifyAll(); var okObjectResult = result as OkObjectResult; Assert.That(okObjectResult, Is.Not.Null); Assert.That(okObjectResult.Value, Is.EqualTo(updatedContainer)); }