public async Task AsyncAction_WithCustomTaskReturnTypeThrows() { // Arrange var inputParam1 = 1; var inputParam2 = "Second Parameter"; var actionParameters = new Dictionary <string, object> { { "i", inputParam1 }, { "s", inputParam2 } }; // If it is an unrecognized derived type we throw an InvalidOperationException. var methodWithCutomTaskReturnType = new MethodWithCustomTaskReturnType(_controller.TaskActionWithCustomTaskReturnType); var expectedException = string.Format( CultureInfo.CurrentCulture, "The method 'TaskActionWithCustomTaskReturnType' on type '{0}' returned a Task instance even though it is not an asynchronous method.", typeof(TestController)); // Act & Assert var ex = await Assert.ThrowsAsync <InvalidOperationException>( () => ControllerActionExecutor.ExecuteAsync( methodWithCutomTaskReturnType.GetMethodInfo(), _controller, actionParameters)); Assert.Equal(expectedException, ex.Message); }
public async Task AsyncAction_WithCustomTaskReturnTypeThrows() { // Arrange var inputParam1 = 1; var inputParam2 = "Second Parameter"; var actionParameters = new Dictionary<string, object> { { "i", inputParam1 }, { "s", inputParam2 } }; // If it is an unrecognized derived type we throw an InvalidOperationException. var methodWithCutomTaskReturnType = new MethodWithCustomTaskReturnType(_controller.TaskActionWithCustomTaskReturnType); var expectedException = string.Format( CultureInfo.CurrentCulture, "The method 'TaskActionWithCustomTaskReturnType' on type '{0}' returned a Task instance even though it is not an asynchronous method.", typeof(TestController)); // Act & Assert var ex = await Assert.ThrowsAsync<InvalidOperationException>( () => ControllerActionExecutor.ExecuteAsync( methodWithCutomTaskReturnType.GetMethodInfo(), _controller, actionParameters)); Assert.Equal(expectedException, ex.Message); }