Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        /// <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));
        }
Exemple #4
0
        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();
        }
Exemple #5
0
 /// <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
     }
 }
Exemple #6
0
        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();
        }