private Task <SlackResult> HandleViewSubmission(ViewSubmission viewSubmission) => RespondAsync <ViewSubmissionResponse>( respond => _viewSubmissionHandler.Handle(viewSubmission, respond), response => response?.ResponseAction == null ? (SlackResult) new EmptyResult(HttpStatusCode.OK) : new JsonResult(_jsonSettings, HttpStatusCode.OK, response), () => new EmptyResult(HttpStatusCode.OK));
private async Task HandleViewSubmission(ViewSubmission payload) { var handler = _responseHandlers.FirstOrDefault(); if (handler == null) { _logger.LogError("No handler registered for ViewSubmission interactions"); await _noOp.Handle(payload); } else { _logger.LogInformation($"Handling using {handler.GetType()}"); try { _logger.LogInformation($"Handling using {handler.GetType()}"); var response = await handler.Handle(payload); _logger.LogInformation(response.Response); } catch (Exception e) { _logger.LogError(e, e.Message); } } }
private async Task <SlackResponse> HandleViewSubmission(ViewSubmission viewSubmission) { var response = await _slackViews.HandleSubmission(viewSubmission).ConfigureAwait(false); return(response?.ResponseAction == null ? (SlackResponse) new EmptyResponse(HttpStatusCode.OK) : new JsonResponse(HttpStatusCode.OK, response)); }
public void RegisterViewSubmissionHandler_HandleSubmissions() { // Arrange var handler = Substitute.For <IViewSubmissionHandler>(); var asyncHandler = Substitute.For <IAsyncViewSubmissionHandler>(); var otherViewSubmission = new ViewSubmission { View = new HomeViewInfo { CallbackId = "other" } }; var viewSubmission = new ViewSubmission { View = new HomeViewInfo { CallbackId = "key" } }; var asyncViewSubmission = new ViewSubmission { View = new HomeViewInfo { CallbackId = "asyncKey" } }; var submissionResponder = Substitute.For <Responder <ViewSubmissionResponse> >(); var sut = Configure(c => c .RegisterViewSubmissionHandler("key", handler) .RegisterAsyncViewSubmissionHandler("asyncKey", asyncHandler)); // Act HandleViewSubmissions(sut, submissionResponder, new[] { otherViewSubmission, viewSubmission, asyncViewSubmission }); // Assert handler.DidNotReceive().Handle(otherViewSubmission); handler.Received().Handle(viewSubmission); handler.DidNotReceive().Handle(asyncViewSubmission); asyncHandler.DidNotReceive().Handle(otherViewSubmission, submissionResponder); asyncHandler.DidNotReceive().Handle(viewSubmission, submissionResponder); asyncHandler.Received().Handle(asyncViewSubmission, submissionResponder); }
public Task Handle(ViewSubmission viewSubmission, Responder <ViewSubmissionResponse> respond) => ResolvedHandle(h => h.Handle(viewSubmission, respond));
public async Task <ViewSubmissionResponse> Handle(ViewSubmission viewSubmission) => new ClearViewsResponse();
public async Task Handle(ViewSubmission viewSubmission, Responder <ViewSubmissionResponse> respond) { }
public Task <ViewSubmissionResponse> HandleSubmission(ViewSubmission viewSubmission) => _views.HandleSubmission(viewSubmission);
public Task <EventHandledResponse> Handle(ViewSubmission payload) { return(Task.FromResult(new EventHandledResponse("YoLO!"))); }