public void AddRegionAdministrator_NullOldAdminWithEndDateNull_ReturnsCorrect() { //Arrange RegionAdministration adm = null; _adminTypeService .Setup(a => a.GetAdminTypeByIdAsync(It.IsAny <int>())) .Returns(() => Task <AdminTypeDTO> .Factory.StartNew(() => AdminTypeHead)); _repoWrapper .Setup(r => r.RegionAdministration.GetFirstOrDefaultAsync(It.IsAny <Expression <Func <RegionAdministration, bool> > >(), It.IsAny <Func <IQueryable <RegionAdministration>, IIncludableQueryable <RegionAdministration, object> > >())) .ReturnsAsync(adm); _userManager .Setup(x => x.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(new User() { Id = "Some" }); _userManager .Setup(x => x.AddToRoleAsync(new User() { Id = "Some" }, Roles.OkrugaHead)); _repoWrapper .Setup(x => x.RegionAdministration.CreateAsync(regionAdmHead)); //Act var result = _servise.AddRegionAdministrator(regionAdmDTOEndDateNull); //Assert _adminTypeService.Verify(); _userManager.Verify(); Assert.NotNull(result); }
public void EditRegionAdministrator_NotNull_ReturnsCorrect() { //Arrange RegionAdministration regionAdmFake = new RegionAdministration { ID = 1, AdminType = new AdminType() { AdminTypeName = Roles.OkrugaHead, ID = 1 }, Status = true, AdminTypeId = AdminTypeHead.ID, UserId = Roles.OkrugaHead }; _repoWrapper .Setup(r => r.RegionAdministration.GetFirstOrDefaultAsync(It.IsAny <Expression <Func <RegionAdministration, bool> > >(), It.IsAny <Func <IQueryable <RegionAdministration>, IIncludableQueryable <RegionAdministration, object> > >())) .ReturnsAsync(regionAdmFake); _adminTypeService .Setup(a => a.GetAdminTypeByIdAsync(It.IsAny <int>())) .Returns(() => Task <AdminTypeDTO> .Factory.StartNew(() => AdminTypeHead)); //Act var result = _servise.EditRegionAdministrator(It.IsAny <RegionAdministrationDTO>()); //Assert _repoWrapper.Verify(); Assert.NotNull(result); }
public async Task GetRegionAsync_ReturnsEmptyIEnumerableRegions() { // Arrange RegionAdministration r = null; _repositoryWrapper .Setup(x => x.RegionAdministration.GetFirstOrDefaultAsync(It.IsAny <Expression <Func <RegionAdministration, bool> > >(), It.IsAny <Func <IQueryable <RegionAdministration>, IIncludableQueryable <RegionAdministration, object> > >())) .ReturnsAsync(r); _repositoryWrapper .Setup(x => x.Region.GetAllAsync(It.IsAny <Expression <Func <Region, bool> > >(), It.IsAny <Func <IQueryable <Region>, IIncludableQueryable <Region, object> > >())) .ReturnsAsync(new List <Region>() { new Region() { ID = 2 }, new Region() { ID = 3 } }); //Act var result = await _regionAccessGetter.GetRegionAsync(It.IsAny <string>()); // Assert Assert.IsInstanceOf <IEnumerable <Region> >(result); Assert.AreEqual(0, result.Count()); }
//End public Region(string Name, MicroRegion Center, Culture Culture, Economy Economy) : base(Culture.CalculateLabor(), Economy) { _Name = Name; _Center = Center; _Culture = Culture; _Administration = new RegionAdministration(this); }
public async Task AddRegionAdministrator(RegionAdministrationDTO regionAdministrationDTO) { var adminType = await _adminTypeService.GetAdminTypeByIdAsync(regionAdministrationDTO.AdminTypeId); var newRegionAdmin = new RegionAdministration() { StartDate = regionAdministrationDTO.StartDate ?? DateTime.Now, EndDate = regionAdministrationDTO.EndDate, AdminTypeId = adminType.ID, RegionId = regionAdministrationDTO.RegionId, UserId = regionAdministrationDTO.UserId }; var oldAdmin = await _repoWrapper.RegionAdministration. GetFirstOrDefaultAsync(d => d.AdminTypeId == newRegionAdmin.AdminTypeId && d.RegionId == newRegionAdmin.RegionId && d.Status); var newUser = await _userManager.FindByIdAsync(newRegionAdmin.UserId); var role = adminType.AdminTypeName == "Голова Округу" ? "Голова Округу" : "Діловод Округу"; await _userManager.AddToRoleAsync(newUser, role); if (oldAdmin != null) { if (DateTime.Now < newRegionAdmin.EndDate || newRegionAdmin.EndDate == null) { newRegionAdmin.Status = true; oldAdmin.Status = false; oldAdmin.EndDate = DateTime.Now; } else { newRegionAdmin.Status = false; } var oldUser = await _userManager.FindByIdAsync(oldAdmin.UserId); await _userManager.RemoveFromRoleAsync(oldUser, role); _repoWrapper.RegionAdministration.Update(oldAdmin); await _repoWrapper.SaveAsync(); await _repoWrapper.RegionAdministration.CreateAsync(newRegionAdmin); await _repoWrapper.SaveAsync(); } else { newRegionAdmin.Status = true; await _repoWrapper.SaveAsync(); await _repoWrapper.RegionAdministration.CreateAsync(newRegionAdmin); await _repoWrapper.SaveAsync(); } }
public async Task AddRegionAdministrator(RegionAdministrationDTO regionAdministrationDTO) { var adminType = await _adminTypeService.GetAdminTypeByIdAsync(regionAdministrationDTO.AdminTypeId); var newRegionAdmin = new RegionAdministration() { StartDate = regionAdministrationDTO.StartDate ?? DateTime.Now, EndDate = regionAdministrationDTO.EndDate, AdminTypeId = adminType.ID, RegionId = regionAdministrationDTO.RegionId, UserId = regionAdministrationDTO.UserId }; var oldAdmin = await _repoWrapper.RegionAdministration. GetFirstOrDefaultAsync(d => d.AdminTypeId == newRegionAdmin.AdminTypeId && d.RegionId == newRegionAdmin.RegionId && d.Status); var newUser = await _userManager.FindByIdAsync(newRegionAdmin.UserId); string role; switch (adminType.AdminTypeName) { case Roles.OkrugaHead: role = Roles.OkrugaHead; break; case Roles.OkrugaHeadDeputy: role = Roles.OkrugaHeadDeputy; break; default: role = Roles.OkrugaSecretary; break; } await _userManager.AddToRoleAsync(newUser, role); if (oldAdmin != null) { if (DateTime.Now < newRegionAdmin.EndDate || newRegionAdmin.EndDate == null) { newRegionAdmin.Status = true; oldAdmin.Status = false; oldAdmin.EndDate = DateTime.Now; } else { newRegionAdmin.Status = false; } var oldUser = await _userManager.FindByIdAsync(oldAdmin.UserId); await _userManager.RemoveFromRoleAsync(oldUser, role); _repoWrapper.RegionAdministration.Update(oldAdmin); await _repoWrapper.SaveAsync(); await _repoWrapper.RegionAdministration.CreateAsync(newRegionAdmin); await _repoWrapper.SaveAsync(); } else { newRegionAdmin.Status = DateTime.Now < newRegionAdmin.EndDate || newRegionAdmin.EndDate == null; await _repoWrapper.SaveAsync(); await _repoWrapper.RegionAdministration.CreateAsync(newRegionAdmin); await _repoWrapper.SaveAsync(); } }