public void Navigate_ContentListField_Null()
        {
            var content  = new TestPageContent();
            var explorer = ContentExplorer.Create(metadataManager, content, "Headers[0]");

            Assert.Null(explorer);
        }
        public void Navigate_ContentField()
        {
            var content = new TestPageContent
            {
                Header = new PageHeaderContent()
            };
            var explorer = ContentExplorer.Create(metadataManager, content, "Header");

            Assert.NotNull(explorer);
        }
Пример #3
0
        public void GetPageTitle()
        {
            var pageType    = pageMetadataManager.FindPageMetadataByContentType(typeof(TestPageContent));
            var pageContent = new TestPageContent {
                Title = "test"
            };

            var pageTitle = pageType.GetPageHeader(pageContent);

            Assert.Equal(pageContent.Title, pageTitle);
        }
Пример #4
0
        public async Task SetPageContent()
        {
            var page = await pageService.FindPageByPathAsync(string.Empty);

            var newContent = new TestPageContent {
                Title = "custom"
            };
            await pageService.SetPageContentAsync(page, newContent);

            var pageModel = (TestPageContent)await pageService.GetPageContentAsync(page);

            Assert.Equal(newContent.Title, pageModel.Title);
        }
        public void SerializeToString()
        {
            var content = new TestPageContent
            {
                Title = "page",
                Header = new PageHeaderContent { Title = "header" },
                Headers = new List<PageHeaderContent> { new PageHeaderContent { Title = "header" } }
            };
            var contentMetadata = metadataManager.GetMetadata(content.GetType());
            var contentData = contentMetadata.ConvertContentModelToDictionary(content);

            var json = JsonContentDataSerializer.SerializeToString(contentData);
            Assert.NotNull(json);
        }
        public void ConvertDictionaryToContentModel()
        {
            var contentMetadata = metadataManager.GetMetadata <TestPageContent>();
            var sourceModel     = new TestPageContent {
                Title = "test"
            };
            var data = contentMetadata.ConvertContentModelToDictionary(sourceModel);

            var model = contentMetadata.ConvertDictionaryToContentModel(data) as TestPageContent;

            Assert.NotNull(model);
            Assert.Equal(model.GetType(), sourceModel.GetType());
            Assert.Equal(model.Title, sourceModel.Title);
        }
        public void Create_Root()
        {
            var content  = new TestPageContent();
            var explorer = ContentExplorer.Create(metadataManager, content);

            Assert.NotNull(explorer);
            Assert.NotNull(explorer.Metadata);
            Assert.Null(explorer.Field);
            Assert.Equal(content, explorer.Model);
            Assert.Equal(string.Empty, explorer.ModelPath);
            Assert.Equal(content.Title, explorer.Title);
            Assert.Null(explorer.Root);
            Assert.Null(explorer.Parent);
            Assert.Equal(-1, explorer.Index);
            Assert.True(explorer.IsRoot);
        }
Пример #8
0
        public async Task SetContent()
        {
            var page = await pageService.FindPageByPathAsync("test");

            var edit = await pageContentService.BeginEditAsync(page);

            var newContent = new TestPageContent()
            {
                Title = "test2"
            };
            await pageContentService.SetContentAsync(edit, newContent);

            var contentData = (TestPageContent)await pageContentService.GetContentAsync(edit);

            Assert.NotNull(contentData);
            Assert.Equal("test2", contentData.Title);
        }
        public void Create_SpecifyPath()
        {
            var content = new TestPageContent {
                Header = new PageHeaderContent()
            };
            var explorer = ContentExplorer.Create(metadataManager, content, "Header");

            Assert.NotNull(explorer);
            Assert.NotNull(explorer.Metadata);
            Assert.NotNull(explorer.Field);
            Assert.Equal(explorer.Model, content.Header);
            Assert.Equal("Header", explorer.ModelPath);
            Assert.NotEqual(explorer.Root, explorer);
            Assert.NotNull(explorer.Parent);
            Assert.Equal(explorer.Index, -1);
            Assert.False(explorer.IsRoot);
        }
        public void DeserializeFromString()
        {
            var content = new TestPageContent
            {
                Title = "page",
                Header = new PageHeaderContent { Title = "header" },
                Headers = new List<PageHeaderContent> { new PageHeaderContent { Title = "header" } }
            };
            var contentMetadata = metadataManager.GetMetadata(content.GetType());
            var contentData = contentMetadata.ConvertContentModelToDictionary(content);
            var json = JsonContentDataSerializer.SerializeToString(contentData);

            var deserializedContentData = JsonContentDataSerializer.DeserializeFromString(json);
            var deserializedContent = (TestPageContent)contentMetadata.ConvertDictionaryToContentModel(deserializedContentData);

            Assert.NotNull(deserializedContent);
            Assert.Equal(deserializedContent.Title, content.Title);
            Assert.Equal(deserializedContent.Header.Title, content.Header.Title);
            Assert.Equal(deserializedContent.Headers[0].Title, content.Headers[0].Title);
        }
        public void ApplyInjections()
        {
            var contentMetadata = metadataManager.GetMetadata <TestPageContent>();
            var services        = new ServiceCollection().AddScoped <TestService>();

            using (var serviceProvider = services.BuildServiceProvider())
            {
                using (var serviceScope = serviceProvider.CreateScope())
                {
                    var page = TestPageContent.Create("test", new PageHeaderContent(), new List <PageHeaderContent> {
                        new PageHeaderContent()
                    });

                    metadataManager.ApplyInjections(page, serviceScope.ServiceProvider, false);

                    Assert.NotNull(page.Service);
                    Assert.Null(page.Header.Service);
                    Assert.Null(page.Headers[0].Service);
                }
            }
        }
Пример #12
0
        async Task IAsyncLifetime.InitializeAsync()
        {
            var pageCollectionRepository = serviceScope.ServiceProvider.GetService <IPageCollectionRepository>();
            var pageRepository           = serviceScope.ServiceProvider.GetService <IPageRepository>();

            var pageType = pageMetadataManager.FindPageMetadataByContentType(typeof(TestPageContent));

            var pageCollection = await pageCollectionRepository.CreateCollectionAsync("test", "Test collection", pageType.Name, PageSortMode.FirstOld, null);

            var mainPage = await pageRepository.CreatePageAsync("test", pageCollection.Id, pageType.Name, "test", pageType.ContentMetadata.ConvertContentModelToDictionary(TestPageContent.CreateWithOnlyTitle("test")));

            await pageRepository.SetUrlPathAsync(mainPage, "index");

            await pageRepository.UpdatePageAsync(mainPage);

            var testPage = await pageRepository.CreatePageAsync("test", pageCollection.Id, pageType.Name, "test", pageType.ContentMetadata.ConvertContentModelToDictionary(TestPageContent.CreateWithOnlyTitle("test")));

            await pageRepository.SetUrlPathAsync(testPage, "test");

            await pageRepository.UpdatePageAsync(testPage);
        }