public void CanSaveToFolder() { // Arrange var gitMock = new Mock <IGitManager>(); var manager = new PageManager(gitMock.Object, @"..\..\..\WikiPages"); var testPageModel = new WikiPageModel { Content = "This is test content", Title = "Test Page 1", SubTitle = "SubTitle Page 1", Folder = "SubFolder1" }; var savePath = @"..\..\..\WikiPages\SubFolder1\test-page-1.md"; // Act var result = manager.SavePage(testPageModel, "test"); // Assert Assert.IsTrue(result); Assert.AreEqual("test-page-1", testPageModel.PageLink); Assert.IsTrue(File.Exists(savePath)); Assert.AreEqual(@"<!-- TITLE: Test Page 1 --> <!-- SUBTITLE: SubTitle Page 1 --> This is test content", File.ReadAllText(savePath)); // Cleanup File.Delete(savePath); Directory.Delete(Path.GetDirectoryName(savePath)); }
private List <WikiPageModel> ConvertHierarchyResultToList(dynamic hierarchyResult) { if (hierarchyResult == null) { return(null); } var children = new List <WikiPageModel>(); foreach (var child in hierarchyResult) { var childModel = new WikiPageModel(); childModel.Title = child.Value.title; childModel.Slug = this.RewriteSlug(child.Value.slug); childModel.Children = child.Value.children.Count == 0 ? null : new List <WikiPageModel>(); foreach (var grandchild in child.Value.children) { var grandchildModel = new WikiPageModel(); grandchildModel.Title = grandchild.Value.title; grandchildModel.Slug = this.RewriteSlug(grandchild.Value.slug); childModel.Children.Add(grandchildModel); } if (childModel.Children.Count == 0) { childModel.Children = null; } children.Add(childModel); } if (children.Count == 0) { return(null); } return(children); }
public IActionResult View(string slug, int?version = null) { WikiPageDTO page = null; if (version.HasValue) { page = service.GetPageRevision(slug, version.Value); } else { page = service.GetPage(slug); } if (page == null) { return(Redirect(Request.Path + "/edit")); } var model = new WikiPageModel() { WikiPage = page, EditUrl = Request.Scheme + "://" + (Request.Host + Request.Path + "/edit").Replace("//", "/") }; return(View(model)); }
private void CheckPageLink() { if (PageLink == null || PageLink == "new") { PageModel = new WikiPageModel { Content = "# New Page", Title = "New Page", Folder = Folder }; } else { PageModel = _pageManager.LoadPage(PageLink, Folder); } StateHasChanged(); }
public bool Equals(WikiPageModel other) { return(other.Title == Title && other.PageLink == PageLink && other.Folder == Folder); }