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); }
private async Task <Site> MakeSite() { var siteInternalId = $"{Guid.NewGuid()}"; var siteRepository = new SiteRepository(SessionFactory, new ContentServiceFactory(_contentFactory)); var siteModelToCreate = new Site { InternalId = siteInternalId, Description = "Site 42", Title = "Title 42", }; await siteRepository.Save(siteModelToCreate).ConfigureAwait(false); return(await siteRepository.GetByInternalId(siteInternalId).ConfigureAwait(false)); }
public async Task Save_ExistingSite() { var internalId = Guid.NewGuid().ToString("N"); var site = new Site { Description = $"Site description {internalId}", InternalId = internalId, Title = $"Title {internalId}" }; var repository = new SiteRepository(SessionFactory, new ContentServiceFactory(_contentFactory)); await repository.Save(site).ConfigureAwait(false); var siteId = site.Id; var modifiedDescription = site.Description + " modified"; site.Description = modifiedDescription; await repository.Save(site).ConfigureAwait(false); var retrieved = await repository.GetById(site.Id).ConfigureAwait(false); Assert.AreEqual(siteId, retrieved.Id); Assert.AreEqual(modifiedDescription, retrieved.Description); }
private async Task <Guid> MakeSite() { 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", Hostnames = "mysite.com" }; await repository.Save(site).ConfigureAwait(false); return(site.Id); }
public async Task GetDefault_NoDefault() { var internalId = Guid.NewGuid().ToString("N"); var site = new Site { Description = $"Site description {internalId}", InternalId = internalId, Title = $"Title {internalId}", IsDefault = false }; var repository = new SiteRepository(SessionFactory, new ContentServiceFactory(_contentFactory)); await repository.Save(site).ConfigureAwait(false); var defaultSite = await repository.GetDefault().ConfigureAwait(false); Assert.IsNull(defaultSite); }
public async Task Delete() { var internalId = Guid.NewGuid().ToString("N"); var site = new Site { Description = $"Site description {internalId}", InternalId = internalId, Title = $"Title {internalId}" }; var repository = new SiteRepository(SessionFactory, new ContentServiceFactory(_contentFactory)); await repository.Save(site).ConfigureAwait(false); await repository.Delete(site.Id).ConfigureAwait(false); var sites = await repository.GetAll().ConfigureAwait(false); Assert.AreEqual(0, sites.Count(s => s.Id == site.Id)); }
public async Task SaveContent_CanHandleContentNull() { 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" }; await repository.Save(site).ConfigureAwait(false); var siteId = site.Id; var ex = Assert.ThrowsAsync <ArgumentNullException>(async() => await repository.SaveContent <MySiteContent>(siteId, null).ConfigureAwait(false)); Assert.AreEqual("Parameter 'content' cannot be null. [Location 201226-2334] (Parameter 'content')", ex.Message); }
public async Task GetDefault_WithExistingDefault() { var internalId = Guid.NewGuid().ToString("N"); var site = new Site { Description = $"Site description {internalId}", InternalId = internalId, Title = $"Title {internalId}", IsDefault = true }; var repository = new SiteRepository(SessionFactory, new ContentServiceFactory(_contentFactory)); await repository.Save(site).ConfigureAwait(false); var siteId = site.Id; var defaultSite = await repository.GetDefault().ConfigureAwait(false); Assert.AreEqual(siteId, defaultSite.Id); Assert.IsTrue(defaultSite.IsDefault); }