private UserAccountRecoveryController CreateFakeUserAccountRecoveryController(User loggedUser = null) { //Create fake DBContext var context = new GlovoDbContext(ContextOptions); //Create fake HttpContextAccessor var httpContext = new DefaultHttpContext(); var httpContextAccessor = new HttpContextAccessor { HttpContext = httpContext }; //Add logged user to HttpContextAccessor in case it is needed if (loggedUser != null) { httpContextAccessor.HttpContext.Items["User"] = loggedUser; } //Create RestApiUsersService instance with fake DBContext and HttpContextAccessor _usersService = new RestApiUsersService(context, httpContextAccessor); //Create mapper with UsersProfile var mapper = new MapperConfiguration(cfg => { cfg.AddProfile <LocationsProfile>(); cfg.AddProfile <OrdersProductsProfile>(); cfg.AddProfile <OrdersProfile>(); cfg.AddProfile <ProductsProfile>(); cfg.AddProfile <RestaurantsProfile>(); cfg.AddProfile <UsersProfile>(); }).CreateMapper(); //Create AppConfiguration options using fake secret string _testApiSecret = RandomString(1024); IOptions <AppConfiguration> appConfigOptions = new OptionsWrapper <AppConfiguration>( new AppConfiguration { Secret = _testApiSecret } ); //Create UsersController instance with the RestApiUsersService instance, the mapper and the //fake AppConfiguration var usersController = new UserAccountRecoveryController(_usersService, mapper, appConfigOptions) { ControllerContext = { HttpContext = httpContext } }; return(usersController); }
private UsersController CreateFakeUsersController(User loggedUser = null) { //Create fake DBContext var context = new GlovoDbContext(ContextOptions); //Create fake HttpContextAccessor var httpContext = new DefaultHttpContext(); var httpContextAccessor = new HttpContextAccessor { HttpContext = httpContext }; //Add logged user to HttpContextAccessor in case it is needed if (loggedUser != null) { httpContextAccessor.HttpContext.Items["User"] = loggedUser; } //Create RestApiUsersService instance with fake DBContext and HttpContextAccessor _usersService = new RestApiUsersService(context, httpContextAccessor); //Create mapper with UsersProfile var mapper = new MapperConfiguration(cfg => { cfg.AddProfile <LocationsProfile>(); cfg.AddProfile <OrdersProductsProfile>(); cfg.AddProfile <OrdersProfile>(); cfg.AddProfile <ProductsProfile>(); cfg.AddProfile <RestaurantsProfile>(); cfg.AddProfile <UsersProfile>(); }).CreateMapper(); //Create UsersController instance with the RestApiUsersService instance and the mapper var usersController = new UsersController(_usersService, mapper) { ControllerContext = { HttpContext = httpContext } }; return(usersController); }