public async void UpdateItemsInPreExistantList() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); // ensure is a new database await context.Database.EnsureDeletedAsync(); // ensure the database has been created await context.Database.EnsureCreatedAsync(); RandomizerList list = (await unitOfWork.Repository <SimpleRandomizerList>().Get(1)); list.AddItem(new TextRandomizerItem("Chouffe")); list.AddItem(new TextRandomizerItem("Goudale")); list.AddItem(new TextRandomizerItem("Leffe")); await unitOfWork.Repository <RandomizerList>().Update(list.Id, list); await unitOfWork.SaveChangesAsync(); list = (await unitOfWork.Repository <RandomizerList>().Get(list.Id)); list.Items.Count().Should().Be(0); list = (await unitOfWork.Repository <RandomizerList>().Set.Include(l => l.Items).Where(i => i.Id == list.Id).FirstOrDefaultAsync()); list.Items.Count().Should().Be(3); (await unitOfWork.Repository <RandomizerItem>().GetItems(0, 10)).Count().Should().Be(3); }
public void TypiconEntity_Delete() { EFUnitOfWork _unitOfWork = new EFUnitOfWork(); TypiconEntity typiconEntity = new TypiconEntity() { Name = "Устав для удаления" }; //typiconEntity.RulesFolder.AddFolder(new TypiconFolderEntity() //{ // Name = "Папка для удаления", // Owner = typiconEntity //}); _unitOfWork.Repository <TypiconEntity>().Insert(typiconEntity); _unitOfWork.SaveChanges(); _unitOfWork.Repository <TypiconEntity>().Delete(typiconEntity); _unitOfWork.SaveChanges(); Assert.Pass("Deleted."); }
//Create [email protected] with password=Admin@123456 in the Admin role public static void InitializeIdentityForEF(ApplicationDbContext db) { IUnitOfWork uow = new EFUnitOfWork(new BaseProjectEntities()); var userManager = HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>(); var roleManager = HttpContext.Current.GetOwinContext().Get <ApplicationRoleManager>(); const string userName = "******"; const string realName = "管理者"; const bool isEnable = true; DateTime createDateTime = DateTime.Now; const string createBy = "admin"; const string name = "*****@*****.**"; const string password = "******"; const string roleName = "Admin"; //Create Role Admin if it does not exist var role = roleManager.FindByName(roleName); if (role == null) { role = new IdentityRole(roleName); var roleresult = roleManager.Create(role); } var user = userManager.FindByName(name); if (user == null) { user = new ApplicationUser { UserName = userName, Email = name, Name = realName, IsEnabled = isEnable, CreateDate = createDateTime, CreateBy = createBy }; var result = userManager.Create(user, password); result = userManager.SetLockoutEnabled(user.Id, false); } var operationPermission = uow.Repository <RolesOperationPermission>().Reads().Where(x => x.RoleId == role.Id); if (operationPermission.Count() == 0) { var permission = new RolesOperationPermission() { Operation = Core.Common.Security.ResourceOperationEnum.Read | Core.Common.Security.ResourceOperationEnum.Delete, ResourceName = "CodeMain", RoleId = role.Id }; uow.Repository <RolesOperationPermission>().Create(permission); uow.Save(); } // Add user admin to Role Admin if not already added var rolesForUser = userManager.GetRoles(user.Id); if (!rolesForUser.Contains(role.Name)) { var result = userManager.AddToRole(user.Id, role.Name); } }
public async void GetTest() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); context.Database.EnsureCreated(); (await unitOfWork.Repository <SimpleRandomizerList>().Get(3)).Name.Should().Be("People"); (await unitOfWork.Repository <SimpleRandomizerList>().Get(4)).Should().BeNull(); }
public async void GetItemsTest() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); context.Database.EnsureCreated(); (await unitOfWork.Repository <RandomizerList>().GetItems(0, 10)).Count().Should().Be(3); (await unitOfWork.Repository <RandomizerList>().GetItems(0, 2)).Count().Should().Be(2); (await unitOfWork.Repository <RandomizerList>().GetItems(1, 2)).Count().Should().Be(1); }
public async void AddItemsToNewListWithUnitOfWork() { using var factory = new TestContextFactory(); var context = factory.CreateContext(); var unitOfWork = new EFUnitOfWork(context); // ensure is a new database await context.Database.EnsureDeletedAsync(); // ensure the database has been created await context.Database.EnsureCreatedAsync(); // new list RandomizerList l = new SimpleRandomizerList { Name = "More Beers" }; // the items to add var chouffe = new TextRandomizerItem("Chouffe", l); var goudale = new TextRandomizerItem("Goudale", l); var leffe = new TextRandomizerItem("Leffe", l); // adding the items l.AddItem(chouffe); l.AddItem(goudale); l.AddItem(leffe); // adding the list l = await unitOfWork.Repository <RandomizerList>().Add(l); l.Should().NotBeNull(); // item count should still be three l.Items.Count.Should().Be(3); // saving changes await unitOfWork.SaveChangesAsync(); // total lists saved should now be 4 (await unitOfWork.Repository <RandomizerList>().GetItems(0, 10)).Count().Should().Be(4); // recovering the list in three different ways var moreBeers = (await unitOfWork.Repository <RandomizerList>().Get(l.Id)); var moreBeers2 = (await unitOfWork.Repository <RandomizerList>().Set.Include(l => l.Items).Where(i => i.Id == l.Id).FirstOrDefaultAsync()); var moreBeers3 = await unitOfWork.Repository <SimpleRandomizerList>().Set.Include(l => l.Items).Where(i => i.Id == l.Id).FirstOrDefaultAsync(); // should return the same list with three items moreBeers.Items.Count().Should().Be(3); moreBeers2.Items.Count().Should().Be(3); moreBeers3.Items.Count().Should().Be(3); }
public async void Delete() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); context.Database.EnsureCreated(); var chewie = await unitOfWork.Repository <RandomizerList>().Get(1); await unitOfWork.Repository <RandomizerList>().Remove(chewie); await unitOfWork.SaveChangesAsync(); Assert.Empty((await unitOfWork.Repository <RandomizerList>().GetItems(0, 10)).Where(n => n.Name.Equals("Beers"))); }
public async void RejectChangesTest() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); context.Database.EnsureCreated(); await unitOfWork.Repository <RandomizerList>().Remove(1); await unitOfWork.CancelChangesAsync(); await unitOfWork.SaveChangesAsync(); (await unitOfWork.Repository <RandomizerList>().GetItems(0, 10)).Count().Should().Be(3); }
public void TypiconEntity_FromDB() { EFUnitOfWork _unitOfWork = new EFUnitOfWork(); TypiconEntity typiconEntity = _unitOfWork.Repository <TypiconEntity>().Get(c => c.Name == "Типикон"); Assert.AreEqual(typiconEntity.Signs.Count, 16); }
public async void UpdateTest() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); context.Database.EnsureCreated(); var myList = await unitOfWork.Repository <RandomizerList>().Get(1); myList.Name = "My list!"; await unitOfWork.Repository <RandomizerList>().Update(myList); await unitOfWork.SaveChangesAsync(); (await unitOfWork.Repository <RandomizerList>().Get(1)).Name.Should().Be("My list!"); (await unitOfWork.Repository <RandomizerList>().GetItems(0, 10)).Where(n => n.Name.Equals("Beers")).Should().BeEmpty(); }
public async void AddTest() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); context.Database.EnsureCreated(); RandomizerList l = new SimpleRandomizerList { Name = "My list" }; l = await unitOfWork.Repository <RandomizerList>().Add(l); l.Should().NotBeNull(); await unitOfWork.SaveChangesAsync(); (await unitOfWork.Repository <RandomizerList>().GetItems(0, 10)).Count().Should().Be(4); }
public void DayServiceTest_Working() { EFUnitOfWork _unitOfWork = new EFUnitOfWork(); //BookStorage.Instance = BookStorageFactory.Create(); TypiconEntity typiconEntity = _unitOfWork.Repository <TypiconEntity>().Get(c => c.Name == "Типикон"); MenologyRule menologyRule = typiconEntity.GetMenologyRule(new DateTime(2017, 09, 28)); Assert.NotNull(menologyRule.GetRule(TestRuleSerializer.Root)); }
public async void DeleteItemsInPreExistantList() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); // ensure is a new database await context.Database.EnsureDeletedAsync(); // ensure the database has been created await context.Database.EnsureCreatedAsync(); (await unitOfWork.Repository <RandomizerItem>().GetItems(0, 10)).Count().Should().Be(0); RandomizerList list = (await unitOfWork.Repository <SimpleRandomizerList>().Get(1)); var cuvéeDesTrolls = new TextRandomizerItem("Cuvée des trolls", list); list.AddItem(cuvéeDesTrolls); list.ContainsItem(cuvéeDesTrolls).Should().BeTrue(); await unitOfWork.SaveChangesAsync(); (await unitOfWork.Repository <RandomizerItem>().GetItems(0, 10)).Count().Should().Be(1); list = (await unitOfWork.Repository <RandomizerList>().Get(list.Id)); list.Items.Count.Should().Be(1); list.RemoveItem(cuvéeDesTrolls); list.Items.Count.Should().Be(0); await unitOfWork.SaveChangesAsync(); list = (await unitOfWork.Repository <RandomizerList>().Get(list.Id)); list.Items.Count.Should().Be(0); (await unitOfWork.Repository <RandomizerItem>().GetItems(0, 10)).Count().Should().Be(0); }
public async void AddRangeTest() { using var factory = new TestContextFactory(); using var context = factory.CreateContext(); using var unitOfWork = new EFUnitOfWork(context); context.Database.EnsureCreated(); RandomizerList l = new SimpleRandomizerList { Name = "Ma liste incroyable", }; RandomizerList l2 = new SimpleRandomizerList { Name = "My list" }; RandomizerList l3 = new SimpleRandomizerList { Name = "Mi lista genial" }; var result = await unitOfWork.Repository <RandomizerList>().AddRange(l, l2, l3); result.Should().BeTrue(); await unitOfWork.SaveChangesAsync(); (await unitOfWork.Repository <RandomizerList>().GetItems(0, 10)).Count().Should().Be(6); }
public void BerlukiRu_ComparingRequests() { EFUnitOfWork _unitOfWork = new EFUnitOfWork(); //BookStorage.Instance = BookStorageFactory.Create(); TypiconEntity typiconEntity = _unitOfWork.Repository <TypiconEntity>().Get(c => c.Name == "Типикон"); DateTime date = new DateTime(2017, 9, 24); //сначала как в запросе в контроллере BerlukiRuController GetScheduleDayRequest dayRequest1 = new GetScheduleDayRequest() { Date = date, Handler = new ScheduleHandler(), Typicon = typiconEntity, CheckParameters = new CustomParamsCollection <IRuleCheckParameter>().SetModeParam(HandlingMode.AstronomicDay) }; ScheduleService scheduleService = ScheduleServiceFactory.Create(); GetScheduleDayResponse dayResponse1 = scheduleService.GetScheduleDay(dayRequest1); //теперь как TypiconController GetScheduleDayRequest dayRequest2 = new GetScheduleDayRequest() { Date = date, Typicon = typiconEntity, Handler = new ScheduleHandler(), CheckParameters = new CustomParamsCollection <IRuleCheckParameter>().SetModeParam(HandlingMode.AstronomicDay) }; GetScheduleDayResponse dayResponse2 = scheduleService.GetScheduleDay(dayRequest2); GetScheduleWeekRequest weekRequest = new GetScheduleWeekRequest() { Date = date, Typicon = typiconEntity, Handler = new ScheduleHandler(), CheckParameters = new CustomParamsCollection <IRuleCheckParameter>().SetModeParam(HandlingMode.AstronomicDay) }; GetScheduleWeekResponse weekResponse = scheduleService.GetScheduleWeek(weekRequest); Assert.AreEqual(dayResponse1.Day.Name, dayResponse2.Day.Name); Assert.AreEqual(dayResponse1.Day.Name, weekResponse.Week.Days.Last().Name); }
public void ServiceSequenceHandler_Working() { EFUnitOfWork _unitOfWork = new EFUnitOfWork(); //BookStorage.Instance = BookStorageFactory.Create(); TypiconEntity typiconEntity = _unitOfWork.Repository <TypiconEntity>().Get(c => c.Name == "Типикон"); GetScheduleDayRequest request = new GetScheduleDayRequest() { Date = new DateTime(2018, 5, 21),//DateTime.Today, Handler = new ServiceSequenceHandler(), Typicon = typiconEntity, CheckParameters = new CustomParamsCollection <IRuleCheckParameter>().SetModeParam(HandlingMode.AstronomicDay) }; ScheduleService scheduleService = ScheduleServiceFactory.Create(); GetScheduleDayResponse response = scheduleService.GetScheduleDay(request); }
public void BerlukiRu_Test() { EFUnitOfWork _unitOfWork = new EFUnitOfWork(); //BookStorage.Instance = BookStorageFactory.Create(); TypiconEntity typiconEntity = _unitOfWork.Repository <TypiconEntity>().Get(c => c.Name == "Типикон"); DateTime date = new DateTime(2017, 09, 03);//DateTime.Now; if ((date.DayOfWeek == DayOfWeek.Sunday) && (date.Hour > 17)) { date = date.AddDays(1); } GetScheduleWeekRequest weekRequest = new GetScheduleWeekRequest() { Date = date, Typicon = typiconEntity, Handler = new ScheduleHandler(), CheckParameters = new CustomParamsCollection <IRuleCheckParameter>().SetModeParam(HandlingMode.AstronomicDay) }; ScheduleService scheduleService = ScheduleServiceFactory.Create(); GetScheduleWeekResponse weekResponse = scheduleService.GetScheduleWeek(weekRequest); HtmlScheduleWeekViewer htmlViewer = new HtmlScheduleWeekViewer(); htmlViewer.Execute(weekResponse.Week); string resultString = htmlViewer.ResultString; weekRequest.Date = date.AddDays(7); weekResponse = scheduleService.GetScheduleWeek(weekRequest); htmlViewer.Execute(weekResponse.Week); resultString += htmlViewer.ResultString; Assert.Pass(resultString); }
public void ScheduleService_GetService() { EFUnitOfWork _unitOfWork = new EFUnitOfWork(); //BookStorage.Instance = BookStorageFactory.Create(); TypiconEntity typiconEntity = _unitOfWork.Repository <TypiconEntity>().Get(c => c.Name == "Типикон"); ScheduleHandler handler = new ScheduleHandler(); GetScheduleDayRequest request = new GetScheduleDayRequest() { Date = new DateTime(2018, 5, 21),//DateTime.Today, Handler = new ScheduleHandler(), Typicon = typiconEntity, CheckParameters = new CustomParamsCollection <IRuleCheckParameter>().SetModeParam(HandlingMode.AstronomicDay) }; ScheduleService scheduleService = ScheduleServiceFactory.Create(); GetScheduleDayResponse response = scheduleService.GetScheduleDay(request); _unitOfWork.SaveChanges(); Assert.AreEqual(3, response.Day.Schedule.Count); StringBuilder builder = new StringBuilder(); builder.AppendLine(response.Day.Date.ToShortDateString() + " " + response.Day.Name); foreach (WorshipRuleViewModel service in response.Day.Schedule) { builder.AppendLine(service.Time + " " + service.Name); } Assert.Pass(builder.ToString()); }
public Task <int> Count() { return(UnitOfWork.Repository <RandomizerList>().Count()); }