public static async Task GenerateUsers(this INextApiApplication application, int count = 15) { using var db = application.ResolveDbContext <ITestDbContext>(); var role = CreateRole(1); await db.Context.Roles.AddAsync(role); await db.Context.SaveChangesAsync(); var city = CreateCity(); await db.Context.Cities.AddAsync(city); await db.Context.SaveChangesAsync(); var initialDate = new DateTime(2000, 01, 01); for (var id = 1; id <= count; id++) { var user = new TestUser { Name = $"name{id}", Surname = $"Surname{id}", Enabled = true, Id = id, City = city, Role = role, Birthday = initialDate.AddYears(id), ExtraInfo = id % 2 == 0 ? "even" : "odd", DecimalProperty = id }; await db.Context.Users.AddAsync(user); } await db.Context.SaveChangesAsync(); }
public static async Task GenerateUsers(this INextApiApplication application, int count = 15) { using var db = application.ResolveDbContext <ITestDbContext>(); var role = CreateRole(1); await db.Context.Roles.AddAsync(role); await db.Context.SaveChangesAsync(); var city = CreateCity(); await db.Context.Cities.AddAsync(city); await db.Context.SaveChangesAsync(); for (var id = 1; id <= count; id++) { var user = new TestUser { Name = $"name{id}", Surname = $"Surname{id}", Enabled = true, Id = id, City = city, Role = role }; await db.Context.Users.AddAsync(user); } await db.Context.SaveChangesAsync(); }
/// <summary> /// Resolve DbContext for NextApi application /// </summary> /// <param name="application"></param> /// <typeparam name="TDbContext">Type of DbContext</typeparam> /// <returns>DisposableDbContext for specific DbContext (should be used with "using" keyword. cause db context /// is scoped by default)</returns> public static DisposableDbContext <TDbContext> ResolveDbContext <TDbContext>( this INextApiApplication application) where TDbContext : INextApiDbContext { var scope = application.ServerServices.CreateScope(); var dbContext = scope.ServiceProvider.GetService <TDbContext>(); return(new DisposableDbContext <TDbContext>(scope, dbContext)); }
public static async Task GenerateCities(this INextApiApplication application, int count = 10) { using var db = application.ResolveDbContext <ITestDbContext>(); for (var id = 1; id <= count; id++) { var city = CreateCity(); await db.Context.Cities.AddAsync(city); } await db.Context.SaveChangesAsync(); }
/// <param name="output"></param> /// <inheritdoc /> protected NextApiTest(ITestOutputHelper output) { App = new TNextApiApplication { Output = output }; try { _applicationStatesHandler = (ITestApplicationStatesHandler)App.ServerServices.GetService(typeof(ITestApplicationStatesHandler)); } catch { // its allright, just ignore. looks like this tests dont uses AddFakeMySqlDbContext } }
public static async Task GenerateTreeItems(this INextApiApplication application) { using var db = application.ResolveDbContext <ITestDbContext>(); var mainTree = new TestTreeItem { Id = 1, Name = "Node1", ParentId = null, Children = new Collection <TestTreeItem> { new TestTreeItem { Id = 2, Name = "Node1_1", ParentId = 1, Children = new Collection <TestTreeItem> { new TestTreeItem { Id = 3, Name = "Node1_1_1", ParentId = 2 } } }, new TestTreeItem { Id = 4, Name = "Node1_2", ParentId = 1, Children = new Collection <TestTreeItem> { new TestTreeItem { Id = 5, Name = "Node1_2_1", ParentId = 4 } } }, new TestTreeItem { Id = 6, Name = "Node1_3", ParentId = 1, Children = new Collection <TestTreeItem> { new TestTreeItem { Id = 7, Name = "Node1_3_1", ParentId = 6 } } } } }; var sampleTestTreeItems = new List <TestTreeItem>(); for (var i = 8; i < 38; i++) { sampleTestTreeItems.Add(new TestTreeItem { Id = i, Name = $"Node{i}" }); } await db.Context.TestTreeItems.AddAsync(mainTree); await db.Context.TestTreeItems.AddRangeAsync(sampleTestTreeItems); await db.Context.SaveChangesAsync(); }