public ActionResult Create(PageModel model) { try { if (ModelState.IsValid) { string url = model.ParentID != null?repository.Get(model.ParentID.Value).LabelForURL : ""; if (model.ParentID > 0) { url += "/" + model.LabelForURL.Split('/').Last(); repository.CreatePage(url, model.LabelForMenu, model.Title, model.MetaDescription, model.MetaKeywords, model.ParentID, model.Content, model.MenuWeight, model.IsMenu, DateTime.Now, model.TemplateId); } else { repository.CreatePage(model.LabelForURL, model.LabelForMenu, model.Title, model.MetaDescription, model.MetaKeywords, model.ParentID, model.Content, model.MenuWeight, model.IsMenu, model.DateCreation, model.TemplateId); } return(RedirectToAction("Pages")); } return(View(model)); } catch { //throw new Exception("Невозможно добавить страницу"); return(View()); } }
public void UpdatePageTreeFail() { //Arrange var pageRepository = new PageRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pages = TestDataRepository.GetPages(); Page parentPage = pages.First(); pages.Remove(parentPage); pageRepository.CreatePage(parentPage); parentPage.ChildPage = new List <Page>(); foreach (var page in pages) { page.ParentId = parentPage.Id; pageRepository.CreatePage(page); parentPage.ChildPage.Add(page); } //Act Page pageToUpdate = null; var result = pageRepository.UpdatePageTree(pageToUpdate); //Assert Assert.Null(result); //Clean dbContext.Page.RemoveRange(dbContext.Page); }
public void GetPageSuccess() { //Arrange var pageRepository = new PageRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pages = TestDataRepository.GetPages(); var page = pages.First(); pageRepository.CreatePage(page); //Act var result = pageRepository.GetPage(page.Id); var resultPageTranslation = result.PageTranslation.First(); //Assert Assert.NotNull(result); Assert.NotEqual(result.Id, Guid.Empty); Assert.NotNull(result.PageTranslation); Assert.True(result.PageTranslation.Count > 0); Assert.NotNull(result.PagePermissions); Assert.True(result.PagePermissions.Count > 0); Assert.True(result.CreatedDate > DateTime.MinValue); Assert.True(result.LastModifiedDate > DateTime.MinValue); Assert.NotNull(resultPageTranslation); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Name)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Description)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Locale)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Title)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.URL)); //Clean dbContext.Page.RemoveRange(dbContext.Page); }
public void GetPageTranslationFail() { //Arrange var pageRepository = new PageRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pages = TestDataRepository.GetPages(); var page = pages.First(); var pagePermissions = page.PagePermissions; pagePermissions.Add(new PagePermission { Id = Guid.NewGuid(), PermissionId = Guid.NewGuid(), RoleId = Guid.NewGuid(), }); pageRepository.CreatePage(page); var pageTranslation = page.PageTranslation.First(); //Act var result = pageRepository.GetPageTranslations(null); //Assert Assert.Null(result); //Clean dbContext.Page.RemoveRange(dbContext.Page); }
public void GetPageTranslationSuccess() { //Arrange var pageRepository = new PageRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pages = TestDataRepository.GetPages(); var page = pages.First(); var pagePermissions = page.PagePermissions; pagePermissions.Add(new PagePermission { Id = Guid.NewGuid(), PermissionId = Guid.NewGuid(), RoleId = Guid.NewGuid(), }); pageRepository.CreatePage(page); var pageTranslation = page.PageTranslation.First(); //Act var result = pageRepository.GetPageTranslation(pageTranslation.URL); //Assert Assert.NotNull(result); Assert.True(!string.IsNullOrEmpty(result.Name)); Assert.True(!string.IsNullOrEmpty(result.Description)); Assert.True(!string.IsNullOrEmpty(result.Locale)); Assert.True(!string.IsNullOrEmpty(result.Title)); Assert.True(!string.IsNullOrEmpty(result.URL)); //Clean dbContext.Page.RemoveRange(dbContext.Page); }
public void UpdatePageTreeSuccess() { //Arrange var pageRepository = new PageRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var parentPage = TestDataRepository.GetPages().First(); var childPages = TestDataRepository.GetPages(); parentPage = pageRepository.CreatePage(parentPage); parentPage.ChildPage = new List <Page>(); foreach (var page in childPages) { page.ParentId = parentPage.Id; var resultChildPage = pageRepository.CreatePage(page); parentPage.ChildPage.Add(resultChildPage); } //Act var pageToUpdate = parentPage.ChildPage.First(); pageToUpdate.PageOrder = 5; var pageTranslation = pageToUpdate.PageTranslation.First(); pageTranslation.Name = "TestUpdate"; var result = pageRepository.UpdatePageTree(parentPage); var resultPage = result.ChildPage.First(p => p.Id == pageToUpdate.Id); var resultPageTranslation = resultPage.PageTranslation.First(); //Assert Assert.NotNull(resultPage); Assert.NotEqual(resultPage.Id, Guid.Empty); Assert.True(resultPage.CreatedDate > DateTime.MinValue); Assert.True(resultPage.LastModifiedDate > DateTime.MinValue); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Name)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Description)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Locale)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.Title)); Assert.True(!string.IsNullOrEmpty(resultPageTranslation.URL)); Assert.NotNull(result.ChildPage); Assert.True(result.ChildPage.Count > 0); Assert.True(resultPage.PageOrder == pageToUpdate.PageOrder); Assert.True(pageTranslation.Name == resultPageTranslation.Name); //Clean dbContext.Page.RemoveRange(dbContext.Page); }
//[Fact] //public void GetModuleEditResultSuccess() //{ // //Arrange // //var actionContextMock = new Mock<ActionContext>(); // var scopeServiceMock = new Mock<IScopeService>(); // var pageManager = new PageManager(_container); // var moduleRepository = new ModuleRepository(_container); // var dbContext = _serviceProvider.GetRequiredService<DeviserDbContext>(); // var pageId = SetupPageAndModules(); // var currentPage = pageManager.GetPageAndDependencies(pageId); // scopeServiceMock.Setup(s => s.PageContext.CurrentPage).Returns(currentPage); // var httpContext = CreateHttpContext("GET"); // var router = new Mock<IRouter>(MockBehavior.Strict).Object; // var actionContext = new ActionContext(); // actionContext.HttpContext = httpContext; // actionContext.RouteData = new RouteData(); // actionContext.RouteData.Routers.Add(router); // //actionContextMock.Setup(ac => ac.RouteData).Returns(new RouteData()); // //actionContextMock.Setup(ac => ac.RouteData.Routers).Returns(new List<IRouter>()); // var deviserControllerFactory = new DeviserControllerFactory(_container, scopeServiceMock.Object); // var modules = moduleRepository.Get(); // var editModule = modules.First(m => m.ModuleAction.Any(ma => ma.ControllerName == "Edit")); // var editModuleAction = // editModule.ModuleAction.First( // ma => ma.ModuleActionTypeId == Guid.Parse("192278B6-7BF2-40C2-A776-B9CA5FB04FBB")); // var pageModule = currentPage.PageModule.First(pm => pm.ModuleId == editModule.Id); // //Act // var result = deviserControllerFactory.GetModuleEditResultAsString(actionContext, pageModule, editModuleAction.Id).Result; // //Assert // Assert.NotNull(result); // Assert.True(!string.IsNullOrEmpty(result)); // Assert.True(!result.Contains("Module load exception")); // //Clean // dbContext.PageModule.RemoveRange(dbContext.PageModule); // dbContext.Module.RemoveRange(dbContext.Module); // dbContext.Page.RemoveRange(dbContext.Page); //} //[Fact] //public void GetModuleEditResultFail() //{ // //Arrange // var actionContextMock = new Mock<ActionContext>(); // var scopeServiceMock = new Mock<IScopeService>(); // var pageManager = new PageManager(_container); // var dbContext = _serviceProvider.GetRequiredService<DeviserDbContext>(); // var pageId = SetupPageAndModules(); // dbContext.PageModule.RemoveRange(dbContext.PageModule); // dbContext.SaveChanges(); // var currentPage = pageManager.GetPageAndDependencies(pageId); // scopeServiceMock.Setup(s => s.PageContext.CurrentPage).Returns(currentPage); // actionContextMock.Setup(ac => ac.RouteData.Routers).Returns(new List<IRouter>()); // var deviserControllerFactory = new DeviserControllerFactory(_container, scopeServiceMock.Object); // //Act // var result = deviserControllerFactory.GetModuleEditResultAsString(actionContextMock.Object, new PageModule(), Guid.NewGuid()).Result; // //Assert // Assert.NotNull(result); // Assert.True(!string.IsNullOrEmpty(result)); // Assert.True(result.Contains("Module load exception")); // //Clean // dbContext.PageModule.RemoveRange(dbContext.PageModule); // dbContext.Module.RemoveRange(dbContext.Module); // dbContext.Page.RemoveRange(dbContext.Page); //} private Guid SetupPageAndModules() { //Arrange var pageRepository = new PageRepository(_container); var moduleRepository = new ModuleRepository(_container); var pages = TestDataRepository.GetPages(); var page = pages.First(); //Create a page pageRepository.CreatePage(page); //Create modules var modules = TestDataRepository.GetModules(); foreach (var module in modules) { moduleRepository.Create(module); if (module != null && module.ModuleAction != null) { foreach (var moduleAction in module.ModuleAction) { //Create page modules var pageModule = new PageModule() { Id = Guid.NewGuid(), PageId = page.Id, ContainerId = Guid.NewGuid(), InheritViewPermissions = true, InheritEditPermissions = true, ModuleId = module.Id, ModuleAction = moduleAction, ModulePermissions = new List <ModulePermission>() { new ModulePermission { Id = Guid.NewGuid(), PageModuleId = Guid.NewGuid(), PermissionId = Guid.NewGuid(), RoleId = Guid.NewGuid(), } }, IsDeleted = false }; pageRepository.CreatePageModule(pageModule); } } } return(page.Id); }
public void CreatePage(PageDto dto) { try { _logger.Info("UseCase : {0}", "start create page"); var page = new Page(dto.NamePage, dto.ContentPage, dto.DateCreatePage, dto.DateChangePage, dto.OwnerPage, dto.ChangerPage, dto.SectionId); _logger.Info("UseCase : {0}", "adding to repository"); _pageRepo.CreatePage(page); } catch (Exception ex) { _logger.Error(ex.Message); } }
public void CreatePageFail() { //Arrange var pageRepository = new PageRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); Page page = null; //Act var result = pageRepository.CreatePage(page); //Assert Assert.Null(result); //Clean dbContext.Page.RemoveRange(dbContext.Page); }
public void UpdatePagePermissionRemoveSuccess() { //Arrange var pageRepository = new PageRepository(_container); var dbContext = _serviceProvider.GetRequiredService <DeviserDbContext>(); var pages = TestDataRepository.GetPages(); var page = pages.First(); var pageToUpdate = pageRepository.CreatePage(page); var pagePermissions = pageToUpdate.PagePermissions; pagePermissions.Add(new PagePermission { Id = Guid.NewGuid(), PermissionId = Guid.NewGuid(), RoleId = Guid.NewGuid(), PageId = pageToUpdate.Id }); var initialCount = pageToUpdate.PagePermissions.Count; //Act pageToUpdate.PagePermissions.Remove(pageToUpdate.PagePermissions.First()); pageRepository.UpdatePage(pageToUpdate); var result = pageRepository.GetPage(pageToUpdate.Id); var afterCount = result.PagePermissions.Count; //Assert Assert.NotNull(result); Assert.NotEqual(result.Id, Guid.Empty); Assert.NotNull(result.PageTranslation); Assert.True(result.PageTranslation.Count > 0); Assert.NotNull(result.PagePermissions); Assert.True(result.PagePermissions.Count > 0); Assert.True(result.CreatedDate > DateTime.MinValue); Assert.True(result.LastModifiedDate > DateTime.MinValue); Assert.True(afterCount < initialCount); //Clean dbContext.Page.RemoveRange(dbContext.Page); }