public async Task Test_FeedPlugin_ResultsInEmptyTags() { var fileSystemMock = new FileSystemMock(); var metadataProviderMock = new YamlFrontMatterMetadataProvider(new YamlParser()); var pluginUnderTest = new SeoPlugin(); var configuration = new ConfigurationBuilder().Build(); var serviceProvider = new ServiceCollection() .AddTransient <IPlugin>(_ => pluginUnderTest) .AddTransformationEngine(configuration) .AddSingleton(fileSystemMock.Object) .AddSingleton <IMetadataProvider>(metadataProviderMock) .BuildServiceProvider(); var engine = serviceProvider.GetRequiredService <ITransformationEngine>(); var file = new Kaylumah.Ssg.Manager.Site.Service.Files.Processor.File() { MetaData = new FileMetaData { } }; var PageMetaData = file.ToPage(); PageMetaData.Content = $"{{{{ {pluginUnderTest.Name} }}}}"; var model = new RenderData() { Page = PageMetaData }; var renderResult = await engine.Render(new MetadataRenderRequest[] { new MetadataRenderRequest { Metadata = model } }); renderResult.Should().NotBeNull(); renderResult.Length.Should().Be(1); var renderContent = renderResult[0].Content; renderContent.Should().NotBeEmpty(); }
public async Task Test_SeoPlugin_ResultsInEmptyTags() { var fileSystemMock = new FileSystemMock(); var metadataProviderMock = new YamlFrontMatterMetadataProvider(new YamlParser()); var pluginUnderTest = new SeoPlugin(); var configuration = new ConfigurationBuilder().Build(); var serviceProvider = new ServiceCollection() .AddTransient <IPlugin>(_ => pluginUnderTest) .AddTransformationEngine(configuration) .AddSingleton(fileSystemMock.Object) .AddSingleton <IMetadataProvider>(metadataProviderMock) .BuildServiceProvider(); var engine = serviceProvider.GetRequiredService <ITransformationEngine>(); var model = new Mock <RenderData>(); model.Setup(x => x.Content).Returns($"{{{{ {pluginUnderTest.Name} }}}}"); var renderResult = await engine.Render(new MetadataRenderRequest[] { new MetadataRenderRequest { Metadata = model.Object } }); renderResult.Should().NotBeNull(); renderResult.Length.Should().Be(1); var renderContent = renderResult[0].Content; renderContent.Should().NotBeEmpty(); var document = new HtmlDocument(); document.LoadHtml(renderContent); var metaTags = document.DocumentNode.SelectNodes("meta"); metaTags.Count.Should().Be(3); }