public static IMvcBuilder AddPugzor(this IMvcBuilder builder, Action <PugzorViewEngineOptions> setupAction = null) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.Services.AddOptions() .AddTransient <IConfigureOptions <PugzorViewEngineOptions>, PugzorViewEngineOptionsSetup>(); if (setupAction != null) { builder.Services.Configure(setupAction); } builder.Services .AddTransient <IConfigureOptions <MvcViewOptions>, PugzorMvcViewOptionsSetup>() .AddSingleton <IPugRendering, PugRendering>() .AddSingleton <IPugzorViewEngine, PugzorViewEngine>() .AddNodeServices(options => { options.ProjectPath = TemporaryDirectoryHelper.CreateTemporaryDirectory(); }); return(builder); }
void Directory_Created_Exists() { var path = TemporaryDirectoryHelper.CreateTemporaryDirectory(true); var result = Directory.Exists(path); Assert.True(result); }
public PugRendering(INodeServices nodeServices, IOptions <PugzorViewEngineOptions> options) { _nodeServices = nodeServices; var tempDirectory = TemporaryDirectoryHelper.CreateTemporaryDirectory(); EmbeddedFileHelper.ExpandEmbeddedFiles(tempDirectory); _options = options.Value; }
public void EmbeddedFileHelper_Extract_DirectoryContainsFiles() { // Assuming temporary directory helper is working as should var tempDir = TemporaryDirectoryHelper.CreateTemporaryDirectory(); EmbeddedFileHelper.ExpandEmbeddedFiles(tempDir); var directory = new DirectoryInfo(tempDir); Assert.NotEmpty(directory.EnumerateDirectories()); Assert.NotEmpty(directory.EnumerateFiles()); }
public PugRenderingTestsFixture() { var optionsMock = new Mock <IOptions <PugzorViewEngineOptions> >(); optionsMock.SetupGet(q => q.Value) .Returns(new PugzorViewEngineOptions { // true: makes a lot of tests to fail Pretty = false }); var mockServices = new Mock <IServiceProvider>(); var nodeServiceOptions = new NodeServicesOptions(mockServices.Object) { ProjectPath = TemporaryDirectoryHelper.CreateTemporaryDirectory(true) }; var nodeServices = NodeServicesFactory.CreateNodeServices(nodeServiceOptions); Renderer = new PugRendering(nodeServices, optionsMock.Object); }