public async Task SaveGetContent() { var repository = new SiteRepository(SessionFactory, new ContentServiceFactory(_contentFactory)); var internalId = Guid.NewGuid().ToString("N"); var site = new Site { Description = $"Site description {internalId}", InternalId = internalId, Title = $"Title {internalId}", IsDefault = true, SiteTypeId = "MySiteContent" }; var content = new MySiteContent { Header = "<p>Lorem ipsum</p>", Footer = "<p>Tellus Ligula</p>" }; await repository.Save(site).ConfigureAwait(false); var siteId = site.Id; await repository.SaveContent(siteId, content).ConfigureAwait(false); var contentId = content.Id; var retrieved = await repository.GetContentById <MySiteContent>(contentId).ConfigureAwait(false); Assert.AreNotEqual(Guid.Empty, retrieved.Id); Assert.AreEqual(content.Header, retrieved.Header); Assert.AreEqual(content.Footer, retrieved.Footer); }
public void Map_SiteContentBase_to_SiteEntity() { var mapper = Module.Mapper; var model = new MySiteContent() { Id = Guid.NewGuid() }; var entity = new SiteEntity(); mapper.Map(model, entity); Assert.AreEqual(Guid.Empty, entity.Id); }
protected override void Init() { using (var api = new Api(GetDb(), new ContentServiceFactory(services), storage, cache)) { Piranha.App.Init(); var builder = new PageTypeBuilder(api) .AddType(typeof(MyPage)); builder.Build(); var siteBuilder = new SiteTypeBuilder(api) .AddType(typeof(MySiteContent)); siteBuilder.Build(); api.Sites.Save(new Data.Site() { Id = SITE_1_ID, SiteTypeId = "MySiteContent", InternalId = SITE_1, Title = SITE_1, Hostnames = SITE_1_HOSTS, IsDefault = true }); api.Sites.Save(new Data.Site() { InternalId = SITE_4, Title = SITE_4 }); api.Sites.Save(new Data.Site() { InternalId = SITE_5, Title = SITE_5 }); api.Sites.Save(new Data.Site() { InternalId = SITE_6, Title = SITE_6 }); // Sites for testing hostname routing api.Sites.Save(new Data.Site { InternalId = "RoutingTest1", Title = "RoutingTest1", Hostnames = "mydomain.com,localhost" }); api.Sites.Save(new Data.Site { InternalId = "RoutingTest2", Title = "RoutingTest2", Hostnames = " mydomain.com/en" }); api.Sites.Save(new Data.Site { InternalId = "RoutingTest3", Title = "RoutingTest3", Hostnames = "sub.mydomain.com , sub2.localhost" }); var content = MySiteContent.Create(api); content.Header = "<p>Lorem ipsum</p>"; content.Footer = "<p>Tellus Ligula</p>"; api.Sites.SaveContent(SITE_1_ID, content); var page1 = MyPage.Create(api); page1.SiteId = SITE_1_ID; page1.Title = "Startpage"; page1.Text = "Welcome"; page1.IsHidden = true; page1.Published = DateTime.Now; api.Pages.Save(page1); var page2 = MyPage.Create(api); page2.SiteId = SITE_1_ID; page2.SortOrder = 1; page2.Title = "Second page"; page2.Text = "The second page"; api.Pages.Save(page2); var page3 = MyPage.Create(api); page3.SiteId = SITE_1_ID; page3.ParentId = page2.Id; page3.Title = "Subpage"; page3.Text = "The subpage"; page3.Published = DateTime.Now; api.Pages.Save(page3); } }
public override async Task InitializeAsync() { using (var api = CreateApi()) { Piranha.App.Init(api); new ContentTypeBuilder(api) .AddType(typeof(MyPage)) .AddType(typeof(MySiteContent)) .Build(); await api.Sites.SaveAsync(new Site { Id = SITE_1_ID, SiteTypeId = "MySiteContent", InternalId = SITE_1, Title = SITE_1, Hostnames = SITE_1_HOSTS, IsDefault = true }); await api.Sites.SaveAsync(new Site { InternalId = SITE_4, Title = SITE_4 }); await api.Sites.SaveAsync(new Site { InternalId = SITE_5, Title = SITE_5 }); await api.Sites.SaveAsync(new Site { InternalId = SITE_6, Title = SITE_6 }); // Sites for testing hostname routing await api.Sites.SaveAsync(new Site { InternalId = "RoutingTest1", Title = "RoutingTest1", Hostnames = "mydomain.com,localhost" }); await api.Sites.SaveAsync(new Site { InternalId = "RoutingTest2", Title = "RoutingTest2", Hostnames = " mydomain.com/en" }); await api.Sites.SaveAsync(new Site { InternalId = "RoutingTest3", Title = "RoutingTest3", Hostnames = "sub.mydomain.com , sub2.localhost" }); var content = await MySiteContent.CreateAsync(api); content.Header = "<p>Lorem ipsum</p>"; content.Footer = "<p>Tellus Ligula</p>"; await api.Sites.SaveContentAsync(SITE_1_ID, content); var page1 = await MyPage.CreateAsync(api); page1.SiteId = SITE_1_ID; page1.Title = "Startpage"; page1.Text = "Welcome"; page1.IsHidden = true; page1.Published = DateTime.Now; await api.Pages.SaveAsync(page1); var page2 = await MyPage.CreateAsync(api); page2.SiteId = SITE_1_ID; page2.SortOrder = 1; page2.Title = "Second page"; page2.Text = "The second page"; await api.Pages.SaveAsync(page2); var page3 = await MyPage.CreateAsync(api); page3.SiteId = SITE_1_ID; page3.ParentId = page2.Id; page3.Title = "Subpage"; page3.Text = "The subpage"; page3.Published = DateTime.Now; await api.Pages.SaveAsync(page3); } }