public void TestAddCompanyAndChildrenInDatabaseOk() { //SETUP var options = SqliteInMemory.CreateOptions <CompanyDbContext>(); using (var context = new CompanyDbContext(options, new FakeGetClaimsProvider("accessKey"))) { context.Database.EnsureCreated(); //ATTEMPT context.AddCompanyAndChildrenInDatabase(); //VERIFY var display = context.Tenants.IgnoreQueryFilters().Select(x => x.ToString()).ToList(); foreach (var line in display) { _output.WriteLine($"\"{line}\","); } display.ShouldEqual(new List <string> { "Company: Name = 4U Inc., DataKey = 1|", "SubGroup: Name = West Coast, DataKey = 1|2|", "SubGroup: Name = San Fran, DataKey = 1|2|3|", "RetailOutlet: Name = SF Dress4U, DataKey = 1|2|3|4*", "RetailOutlet: Name = SF Tie4U, DataKey = 1|2|3|5*", "RetailOutlet: Name = SF Shirt4U, DataKey = 1|2|3|6*", "SubGroup: Name = LA, DataKey = 1|2|7|", "RetailOutlet: Name = LA Dress4U, DataKey = 1|2|7|8*", "RetailOutlet: Name = LA Tie4U, DataKey = 1|2|7|9*", "RetailOutlet: Name = LA Shirt4U, DataKey = 1|2|7|a*", }); } }
public void TestAddCompanyAndChildrenInDatabaseTwoCompaniesOk() { //SETUP var options = SqliteInMemory.CreateOptions <CompanyDbContext>(); using (var context = new CompanyDbContext(options, new FakeGetClaimsProvider("accessKey"))) { context.Database.EnsureCreated(); //ATTEMPT context.AddCompanyAndChildrenInDatabase( "Company1|Area|Shop1", "Company1|Area|Shop2", "Company2|Area|Shop3"); //VERIFY var display = context.Tenants.IgnoreQueryFilters().Select(x => x.ToString()).ToList(); foreach (var line in display) { _output.WriteLine($"\"{line}\","); } display.ShouldEqual(new List <string> { "Company: Name = Company1, DataKey = 1|", "SubGroup: Name = Area, DataKey = 1|2|", "RetailOutlet: Name = Shop1, DataKey = 1|2|3*", "RetailOutlet: Name = Shop2, DataKey = 1|2|4*", "Company: Name = Company2, DataKey = 5|", "SubGroup: Name = Area, DataKey = 5|6|", "RetailOutlet: Name = Shop3, DataKey = 5|6|7*", }); } }
public void TestIncludeWithNoQueryFilterOk() { //SETUP var options = SqliteInMemory.CreateOptions <CompanyDbContext>(); string dataKey; using (var context = new CompanyDbContext(options, new FakeGetClaimsProvider("accessKey"))) { context.Database.EnsureCreated(); var companies = context.AddCompanyAndChildrenInDatabase(); dataKey = companies.First().Children.First().Children.First().DataKey; } using (var context = new CompanyDbContext(options, new FakeGetClaimsProvider(dataKey))) { //ATTEMPT var tenant = context.Tenants.IgnoreQueryFilters() .Include(p => p.Parent) .Include(x => x.Children).Single(x => x.DataKey == dataKey); //VERIFY tenant.DataKey.ShouldEqual(dataKey); tenant.Parent.ShouldNotBeNull(); tenant.Children.Any().ShouldBeTrue(); } }
public void TestFilterTenantsOk(string dataKey, int expectedCount) { //SETUP var options = SqliteInMemory.CreateOptions <CompanyDbContext>(); using (var context = new CompanyDbContext(options, new FakeGetClaimsProvider(dataKey))) { context.Database.EnsureCreated(); context.AddCompanyAndChildrenInDatabase(); //ATTEMPT var tenants = context.Tenants.ToList(); //VERIFY //foreach (var line in tenants) //{ // _output.WriteLine($"\"{line}\","); //} tenants.Count.ShouldEqual(expectedCount); } }
public void TestMoveToNewParentGroup() { //SETUP var options = SqliteInMemory.CreateOptions <CompanyDbContext>(); using (var context = new CompanyDbContext(options, new FakeGetClaimsProvider("123*"))) { context.Database.EnsureCreated(); var rootCompanies = context.AddCompanyAndChildrenInDatabase(); // -- West Coast --|--- San Fran --- var sanFran = rootCompanies.First().Children.Single().Children.First(); // -- West Coast --|------ LA ------ var la = rootCompanies.First().Children.Single().Children.Last(); //ATTEMPT sanFran.MoveToNewParent(la, context); context.SaveChanges(); //VERIFY var display = context.Tenants.IgnoreQueryFilters().Select(x => x.ToString()).ToList(); foreach (var line in display) { _output.WriteLine($"\"{line}\","); } display.ShouldEqual(new List <string> { "Company: Name = 4U Inc., DataKey = 1|", "SubGroup: Name = West Coast, DataKey = 1|2|", "SubGroup: Name = San Fran, DataKey = 1|2|7|3|", "RetailOutlet: Name = SF Dress4U, DataKey = 1|2|7|3|4*", "RetailOutlet: Name = SF Tie4U, DataKey = 1|2|7|3|5*", "RetailOutlet: Name = SF Shirt4U, DataKey = 1|2|7|3|6*", "SubGroup: Name = LA, DataKey = 1|2|7|", "RetailOutlet: Name = LA Dress4U, DataKey = 1|2|7|8*", "RetailOutlet: Name = LA Tie4U, DataKey = 1|2|7|9*", "RetailOutlet: Name = LA Shirt4U, DataKey = 1|2|7|a*", }); } }
public void TestExtractCompanyId() { //SETUP var options = SqliteInMemory.CreateOptions <CompanyDbContext>(); using (var context = new CompanyDbContext(options, new FakeGetClaimsProvider("123*"))) { context.Database.EnsureCreated(); var rootCompanies = context.AddCompanyAndChildrenInDatabase(); //ATTEMPT // -- West Coast --|--- San Fran --- var sfDress4U = rootCompanies.First().Children.Single().Children.First().Children.First(); // -- West Coast --|------ LA ------ var la = rootCompanies.First().Children.Single().Children.Last(); //VERIFY rootCompanies.First().ExtractCompanyId().ShouldEqual(1); sfDress4U.ExtractCompanyId().ShouldEqual(1); la.ExtractCompanyId().ShouldEqual(1); } }