/// <summary> /// returns list of tranformers /// </summary> /// <param name="context"></param> /// <returns><List<Transformer></returns> public static Task <List <Transformer> > getTransformers(ITransformerDBContext context) { return(Task.Run(() => context .TransformerAllegiances .ToList <TransformerAllegiance>() .Select((transformerAllegiance, index) => Enumerable .Range(1, 5) .Select(item => new Transformer { AllegianceId = transformerAllegiance.TransformerAllegianceId , Name = $"{transformerAllegiance.AllegianceName} - {ModelBuilderExtensions.NumberToWords(item)}" , Strength = ModelBuilderExtensions.getRandomNumber(1, 10) , Intelligence = ModelBuilderExtensions.getRandomNumber(1, 10) , Speed = ModelBuilderExtensions.getRandomNumber(1, 10) , Endurance = ModelBuilderExtensions.getRandomNumber(1, 10) , Rank = ModelBuilderExtensions.getRandomNumber(1, 10) , Courage = ModelBuilderExtensions.getRandomNumber(1, 10) , Firepower = ModelBuilderExtensions.getRandomNumber(1, 10) , Skill = ModelBuilderExtensions.getRandomNumber(1, 10) } ) .ToList <Transformer>() ) .SelectMany(items => items) .ToList <Transformer>() )); }
/// <summary> /// Generate test data /// </summary> /// <param name="context"></param> /// <returns></returns> public static Task SeedTestData(this ITransformerDBContext context) { return(Task.Run(() => { // To truncate tables and reseed the identities -- only required during odd cases //if (context.Transformers.Any()) //{ // context.Transformers.RemoveRange(context.Transformers); // context.TransformerAllegiances.RemoveRange(context.TransformerAllegiances); // context.SaveChanges(); // if (context.Database.IsSqlServer()) // For MSSQL only // { // context.Database.ExecuteSqlCommand("DBCC CHECKIDENT('Transformers', RESEED, 0)"); // context.Database.ExecuteSqlCommand("DBCC CHECKIDENT('TransformerAllegiances', RESEED, 0)"); // } //} if (!context.TransformerAllegiances.Any()) { context.TransformerAllegiances.AddRange(TransformersEnums.TransformerAllegiancesList()); context.DatabaseContext.SaveChanges(); } if (!context.Transformers.Any()) { context.Transformers.AddRange(getTransformers(context).GetAwaiter().GetResult()); context.DatabaseContext.SaveChanges(); } })); }
protected void Dispose(bool disposing) { if (disposing) { if (_transformerDBContext != null) { _transformerDBContext.Dispose(); _transformerDBContext = null; } } }
public void Setup() { var services = new ServiceCollection(); services.AddTransient <IConfiguration>(provider => PopulateTestData.GetConfiguration(TestContext.CurrentContext.TestDirectory)); services.AddDbContext <TransformerDBContext>(options => options.UseInMemoryDatabase()); services.AddTransient <ITransformerDBContext, TransformerDBContext>(); services.AddTransient <ITransformerRepository, TransformerRepository>(); services.AddTransient <ITransformerAdd, TransformerCommands>(); services.AddTransient <ITransformerRetrieve, TransformerCommands>(); services.AddTransient <ITransformerUpdate, TransformerCommands>(); services.AddTransient <ITransformerRemove, TransformerCommands>(); services.AddTransient <ITransformerList, TransformerCommands>(); services.AddTransient <ITransformerScore, TransformerCommands>(); services.AddTransient <ITransformerWar, TransformerWar>(); services.AddTransient <TransformersController>(); var serviceProvider = services.BuildServiceProvider(); _transformerDBContext = serviceProvider.GetService <ITransformerDBContext>(); _transformerDBContext.SeedTestData().GetAwaiter().GetResult(); _transformersController = serviceProvider.GetService <TransformersController>(); _transformerRepository = serviceProvider.GetService <ITransformerRepository>(); }
public TransformerRepository(ITransformerDBContext context, IConfiguration configuration) { _transformerDBContext = context; _config = configuration; }