public async Task CreateTodoList_NotSuccessful_StatusCodeInternalServerError() { var factory = new ControllerFactory(); var mockHandler = Mock.Of <IHandler>(); Mock.Get(mockHandler).Setup( x => x.HandleCommand <CreateTodoListCommand, CreateTodoListCommandResult>( It.IsAny <CreateTodoListCommand>())) .ReturnsAsync(new CreateTodoListCommandResult { Successfull = false, }); var toCreate = new ViewModel.TodoList.CreateView(); factory.Services.Replace(ServiceDescriptor.Scoped(factory => mockHandler)); var controller = factory.Create <TodoController>(); var result = await controller.CreateTodoList(toCreate); result.Should().BeOfType <StatusCodeResult>(); ((StatusCodeResult)result).StatusCode.Should() .Be(StatusCodes.Status500InternalServerError); }
public async Task GetTodoItemById_NotSuccessful_StatusCodeInternalServerError() { var factory = new ControllerFactory(); var mockHandler = Mock.Of <IHandler>(); Mock.Get(mockHandler).Setup( x => x.HandleQuery <GetTodoItemByIdQuery, GetTodoItemByIdQueryResult>( It.IsAny <GetTodoItemByIdQuery>())) .ReturnsAsync(new GetTodoItemByIdQueryResult { Successfull = false, }); factory.Services.Replace( ServiceDescriptor.Scoped(factory => mockHandler)); var controller = factory.Create <TodoController>(); var result = await controller.GetTodoItemById(1, 1); result.Should().BeOfType <StatusCodeResult>(); ((StatusCodeResult)result).StatusCode.Should() .Be(StatusCodes.Status500InternalServerError); }
public async Task GetTodoItemById_ValidRequest_OkObjectResult() { var factory = new ControllerFactory(); var mockHandler = Mock.Of <IHandler>(); Mock.Get(mockHandler).Setup( x => x.HandleQuery <GetTodoItemByIdQuery, GetTodoItemByIdQueryResult>( It.IsAny <GetTodoItemByIdQuery>())) .ReturnsAsync(new GetTodoItemByIdQueryResult { Successfull = true, Data = new ViewModel.TodoItem.DetailedView() }); factory.Services.Replace( ServiceDescriptor.Scoped(factory => mockHandler)); var controller = factory.Create <TodoController>(); var result = await controller.GetTodoItemById(1, 1); result.Should().BeOfType <OkObjectResult>(); ((OkObjectResult)result).Value.Should() .BeOfType <ViewModel.TodoItem.DetailedView>(); }
public async Task GetTodoLists_ValidRequest_OkObjectResult() { var factory = new ControllerFactory(); var mockHandler = Mock.Of <IHandler>(); Mock.Get(mockHandler).Setup( x => x.HandleQuery <GetAllTodoListsQuery, TodoListsListViewQueryResult>( It.IsAny <GetAllTodoListsQuery>())) .ReturnsAsync(new TodoListsListViewQueryResult { Successfull = true, Data = Array.Empty <ViewModel.TodoList.ListView>() }); factory.Services.Replace( ServiceDescriptor.Scoped(factory => mockHandler)); var controller = factory.Create <TodoController>(); var result = await controller.GetTodoLists(); result.Should().BeOfType <OkObjectResult>(); ((OkObjectResult)result).Value.Should() .BeOfType <ViewModel.TodoList.ListView[]>(); }
public async Task CreateTodoList_ValidRequest_OkObjectResult() { var factory = new ControllerFactory(); var mockHandler = Mock.Of <IHandler>(); Mock.Get(mockHandler).Setup( x => x.HandleCommand <CreateTodoListCommand, CreateTodoListCommandResult>( It.IsAny <CreateTodoListCommand>())) .ReturnsAsync(new CreateTodoListCommandResult { Successfull = true, Data = new ViewModel.TodoList.CreatedView() }); var toCreate = new ViewModel.TodoList.CreateView(); factory.Services.Replace(ServiceDescriptor.Scoped(factory => mockHandler)); var controller = factory.Create <TodoController>(); var result = await controller.CreateTodoList(toCreate); result.Should().BeOfType <OkObjectResult>(); ((OkObjectResult)result).Value.Should() .BeOfType <ViewModel.TodoList.CreatedView>(); }
public void ValidateNonEmptyGuidSuccess() { var controller = ControllerFactory <TestController> .Create(); var result = controller.IsValid(new TestModel() { TestGuid = Guid.NewGuid() }); Assert.IsInstanceOfType(result, typeof(OkObjectResult)); }
public void ValidateEmptyGuidFailureUnitTest() { var controller = ControllerFactory <TestController> .Create(); var mod = new TestModel() { TestGuid = Guid.Empty }; Assert.IsFalse(controller.TryValidateModel(mod)); }
public void TestGetNullPingResult() { var controller = ControllerFactory <TestController> .Create(); var result = controller.Get(null); Assert.IsInstanceOfType(result, typeof(OkObjectResult)); var pingResult = (result as OkObjectResult).Value as PingResult; Assert.AreEqual("NRSRx Test Controller", pingResult.Name); }
public async Task Test() { var factory = new ControllerFactory(); mock.Setup(x => x.GetAsync <TodoItemListView>()) .ReturnsAsync(Array.Empty <TodoItemListView>()); var controller = factory.Create <TodoController>(this); var result = await controller.GetAsync(); Assert.IsInstanceOfType(result, typeof(OkObjectResult)); }
public async Task Test() { var factory = new ControllerFactory(); var mock = new Mock <ITodoService>(); mock.Setup(x => x.GetAsync <TodoItemListView>()) .ReturnsAsync(Array.Empty <TodoItemListView>()); factory.Services.Replace( ServiceDescriptor.Scoped(factory => mock.Object)); var controller = factory.Create <TodoController>(this); var result = await controller.GetAsync(); Assert.IsInstanceOfType(result, typeof(OkObjectResult)); }
public void ProcessRequest(HttpContext context) { string controller = context.Request["controller"]; ControllerBase cb = ControllerFactory.Create(controller); string json = ""; if (cb == null) { json = JsonResultHelper.GetErrorJson("controler【" + controller + "】不存在!"); } else { json = cb.ajax(context.Request); } context.Response.ContentType = "application/json"; context.Response.Write(json); }
public static IMvcBuilder AddControllers(this IMvcBuilder builder, ILoggerFactory logFactory, params Assembly[] assemblies) { // Generate controllers for types registered in the assemblies var controllers = ControllerFactory.Create(logFactory, assemblies).ToList(); var controllerTypes = controllers.SelectMany(x => x.controllerType); var serviceTypes = ControllerFactory.GetServiceTypes(assemblies).ToList(); // Enable the services to configure themselves by registering requires service dependencies controllers.ForEach(x => x.serviceMetadata?.ConfigureServices(builder.Services)); // Register services to DI container serviceTypes.ForEach(x => builder.Services.AddTransient(x)); builder.ConfigureApplicationPartManager(apm => apm.FeatureProviders.Add(new GenericControllerFeatureProvider(controllerTypes))); return(builder); }
public async Task GetTodoItemById_HandlerThrows_Rethrows() { var factory = new ControllerFactory(); var mockHandler = Mock.Of <IHandler>(); Mock.Get(mockHandler).Setup( x => x.HandleQuery <GetTodoItemByIdQuery, GetTodoItemByIdQueryResult>( It.IsAny <GetTodoItemByIdQuery>())) .ThrowsAsync(new Exception()); factory.Services.Replace( ServiceDescriptor.Scoped(factory => mockHandler)); var controller = factory.Create <TodoController>(); Func <Task> act = async() => await controller.GetTodoItemById(1, 1); await act.Should().ThrowAsync <Exception>(); }
public async Task CreateTodoList_HandlerThrows_Rethrows() { var factory = new ControllerFactory(); var mockHandler = Mock.Of <IHandler>(); Mock.Get(mockHandler).Setup( x => x.HandleCommand <CreateTodoListCommand, CreateTodoListCommandResult>( It.IsAny <CreateTodoListCommand>())) .ThrowsAsync(new Exception()); var toCreate = new ViewModel.TodoList.CreateView(); factory.Services.Replace(ServiceDescriptor.Scoped(factory => mockHandler)); var controller = factory.Create <TodoController>(); Func <Task> act = async() => await controller.CreateTodoList(toCreate); await act.Should().ThrowAsync <Exception>(); }