public static MissioContext MakeMissioContext() { var databaseOptions = new DbContextOptionsBuilder <MissioContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).EnableSensitiveDataLogging().Options; var missioContext = new MissioContext(databaseOptions, new MockPasswordService(), Substitute.For <IWebClientService>()); missioContext.Database.EnsureCreated(); return(missioContext); }
private static PostsController MakePostsController(MissioContext missioContext = null) { if (missioContext == null) { missioContext = Utils.MakeMissioContext(); } var usersService = new UsersService(missioContext, new MockPasswordService(), Substitute.For <IWebClientService>()); var postsService = new PostsService(missioContext, usersService, new FakeTimeService()); var notificationsService = new NotificationsService(missioContext); return(new PostsController(usersService, postsService, notificationsService)); }
private static UsersController MakeUsersController(MissioContext missioContext = null, IWebClientService webClientService = null) { if (missioContext == null) { missioContext = Utils.MakeMissioContext(); } if (webClientService == null) { webClientService = Substitute.For <IWebClientService>(); } var passwordService = new MockPasswordService(); var userService = new UsersService(missioContext, passwordService, webClientService); return(new UsersController(userService)); }
public UsersService(MissioContext missioContext, IPasswordHasher <User> passwordService, IWebClientService webClientService) { _webClientService = webClientService; _passwordService = passwordService; _missioContext = missioContext; }
public NotificationsService(MissioContext missioContext) { _missioContext = missioContext; }
public PostsService(MissioContext missioContext, UsersService userService, ITimeService timeService) { _userService = userService; _timeService = timeService; _missioContext = missioContext; }