public LessonsServiceTests() { var optionsBuilder = new DbContextOptionsBuilder <EducationHubDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dbCntext = new EducationHubDbContext(optionsBuilder.Options); dbCntext.Database.EnsureDeleted(); dbCntext.Database.EnsureCreated(); this.lessonsRepository = new EfDeletableEntityRepository <Lesson>(dbCntext); this.lessonsService = new LessonsService(this.lessonsRepository); this.lesson = new Lesson { Title = "Test", Description = "Test", VideoUrl = "Test", UserId = "Test", CategoryId = 1, }; AutoMapperConfig.RegisterMappings(typeof(PostModel).GetTypeInfo().Assembly); }
public async Task SeedAsync(EducationHubDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext == null) { throw new ArgumentNullException(nameof(dbContext)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } var logger = serviceProvider.GetService <ILoggerFactory>().CreateLogger(typeof(EducationHubDbContextSeeder)); var seeders = new List <ISeeder> { new RolesSeeder(), new AdminUserSeeder(), new CategoriesSeeder(), }; foreach (var seeder in seeders) { await seeder.SeedAsync(dbContext, serviceProvider); await dbContext.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
public VotesServiceTests() { var optionsBuilder = new DbContextOptionsBuilder <EducationHubDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dbContext = new EducationHubDbContext(optionsBuilder.Options); this.votesRepository = new EfRepository <Vote>(dbContext); this.votesService = new VotesService(this.votesRepository); }
public PostsServiceTests() { var optionsBuilder = new DbContextOptionsBuilder <EducationHubDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dbCntext = new EducationHubDbContext(optionsBuilder.Options); dbCntext.Database.EnsureDeleted(); dbCntext.Database.EnsureCreated(); this.postsRepository = new EfRepository <Post>(dbCntext); this.postsService = new PostsService(this.postsRepository); AutoMapperConfig.RegisterMappings(typeof(PostModel).GetTypeInfo().Assembly); }
public async Task SeedAsync(EducationHubDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext.Categories.Any()) { return; } var user = dbContext.Users.FirstOrDefault(u => u.Email == GlobalConstants.AdministratorEmail); var categories = new List <Category> { new Category { Name = "Programing Languages", UserId = user.Id, PictureUrl = "https://res.cloudinary.com/dgw65zfwf/image/upload/v1605711654/EducationHub/Categories/Best-Programming-Languages-to-Start-Learning-Today_tyaj6n.jpg", }, new Category { Name = "Basic Math", UserId = user.Id, PictureUrl = "https://res.cloudinary.com/dgw65zfwf/image/upload/v1605711703/EducationHub/Categories/maxresdefault_tvvi97.jpg", }, new Category { Name = "Geography", UserId = user.Id, PictureUrl = "https://res.cloudinary.com/dgw65zfwf/image/upload/v1605711726/EducationHub/Categories/geogImg_r_qshnjy.jpg", }, new Category { Name = "Chemistry", UserId = user.Id, PictureUrl = "https://res.cloudinary.com/dgw65zfwf/image/upload/v1605711749/EducationHub/Categories/chemistry_logo_yr5fqx.jpg", }, }; await dbContext.Categories.AddRangeAsync(categories); }
public CommentsServiceTests() { var optionsBuilder = new DbContextOptionsBuilder <EducationHubDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dbCntext = new EducationHubDbContext(optionsBuilder.Options); dbCntext.Database.EnsureDeleted(); dbCntext.Database.EnsureCreated(); this.commentsRepository = new EfDeletableEntityRepository <Comment>(dbCntext); this.commentsService = new CommentsService(this.commentsRepository); this.comment = new Comment { Content = "test", ParentId = 1, PostId = 12, UserId = "test", }; }
public async Task SeedAsync(EducationHubDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext.Users.Any(u => u.Email == GlobalConstants.AdministratorEmail)) { return; } var userManager = serviceProvider.GetRequiredService <UserManager <User> >(); var user = new User { Email = GlobalConstants.AdministratorEmail, UserName = GlobalConstants.AdministratorEmail, }; var password = GlobalConstants.AdministratorPassword; await userManager.CreateAsync(user, password); await dbContext.Users.AddAsync(user); await userManager.AddToRoleAsync(user, GlobalConstants.AdministratorRoleName); }
public CategoriesServiceTests() { var optionsBuilder = new DbContextOptionsBuilder <EducationHubDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dbCntext = new EducationHubDbContext(optionsBuilder.Options); dbCntext.Database.EnsureDeleted(); dbCntext.Database.EnsureCreated(); this.categoriesRepository = new EfDeletableEntityRepository <Category>(dbCntext); this.categoriesService = new CategoriesService(this.categoriesRepository); this.category = new Category { Name = "Test", PictureUrl = "Test", UserId = "test", }; AutoMapperConfig.RegisterMappings(typeof(PostModel).GetTypeInfo().Assembly); }
public EfDeletableEntityRepository(EducationHubDbContext context) : base(context) { }
public async Task SeedAsync(EducationHubDbContext dbContext, IServiceProvider serviceProvider) { var roleManager = serviceProvider.GetRequiredService <RoleManager <Role> >(); await SeedRoleAsync(roleManager, GlobalConstants.AdministratorRoleName); }
public EfRepository(EducationHubDbContext context) { this.Context = context ?? throw new ArgumentNullException(nameof(context)); this.DbSet = this.Context.Set <TEntity>(); }