public async Task SeedAsync(TrainConnectedDbContext 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(ApplicationDbContextSeeder)); var seeders = new List <ISeeder> { new RolesSeeder(), new SettingsSeeder(), new AdminSeeder(), }; foreach (var seeder in seeders) { await seeder.SeedAsync(dbContext, serviceProvider); await dbContext.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
public async Task GetCountShouldReturnCorrectNumberUsingDbContext() { var options = new DbContextOptionsBuilder <TrainConnectedDbContext>() .UseInMemoryDatabase(databaseName: "Find_User_Database") // Give a Unique name to the DB .Options; var dbContext = new TrainConnectedDbContext(options); dbContext.Settings.Add(new Setting()); dbContext.Settings.Add(new Setting()); dbContext.Settings.Add(new Setting()); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <Setting>(dbContext); var service = new SettingsService(repository); var count = service.GetCount(); Assert.Equal(3, count); }