public async Task Execute_JustInvoked_ShouldInvokeHandle() { // Arrange var testHandler = new Foo(); var actionParams = new Bar(); _serviceProviderMock .Setup(m => m.GetService(typeof(ISlackActionHandler <Bar>))) .Returns(testHandler); // Act await _service.ExecuteAction(actionParams.GetType(), actionParams); // Assert _serviceProviderMock.Verify(m => m.GetService(typeof(ISlackActionHandler <Bar>)), Times.Once); _serviceProviderMock.VerifyNoOtherCalls(); Assert.True(testHandler.WasInvoked); }
public Task ProcessRequest(InteractiveMessage request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var invokedAction = request.Actions.FirstOrDefault(); if (invokedAction == null) { throw new ArgumentNullException(nameof(invokedAction)); } var paramsType = _slackParamsSelectService.Choose(invokedAction.Name); var actionParams = _mapper.Map(request, request.GetType(), paramsType); return(_slackExecutorService.ExecuteAction(paramsType, actionParams)); }