public async Task GetStartPage_EmptySite()
        {
            var siteId = await MakeSite().ConfigureAwait(false);

            var startPage = await PageRepository.GetStartpage <DynamicPage>(siteId).ConfigureAwait(false);

            Assert.IsNull(startPage);
        }
        public async Task GetStartPage_SinglePage()
        {
            var siteId = await MakeSite().ConfigureAwait(false);

            var aPage = await MakePage(siteId).ConfigureAwait(false);

            aPage.ParentId = null;
            var pageId = aPage.Id;
            await PageRepository.Save(aPage).ConfigureAwait(false);

            var startPage = await PageRepository.GetStartpage <DynamicPage>(siteId).ConfigureAwait(false);

            Assert.AreEqual(pageId, startPage.Id);
        }
        public async Task GetStartPage_BasedOnSortOrder()
        {
            var siteId = await MakeSite().ConfigureAwait(false);

            var firstPage = await MakePage(siteId).ConfigureAwait(false);

            var secondPage = await MakePage(siteId).ConfigureAwait(false);

            var secondPageId = secondPage.Id;

            firstPage.SortOrder  = 1;
            secondPage.SortOrder = 0;
            await PageRepository.Save(secondPage).ConfigureAwait(false);

            await PageRepository.Save(firstPage).ConfigureAwait(false);

            var retrieved = await PageRepository.GetStartpage <DynamicPage>(siteId).ConfigureAwait(false);

            Assert.AreEqual(secondPageId, retrieved.Id);
        }