* Restructuring (WIP) * Fix warnings * Move DSL to modules * Update namespaces * Make design factory base reusable * Update service registrations * Remove unused namespaces and rename ElsaDbContext * Incremental work on migrations * Generate WorkflowsDbContext SQLite migrations * Rename ServiceCollectionExtensions * Update DbContextOptionsBuilderExtensions.cs * Restructure * Configuration refactorings (WIP) * Incremental work on configurator API * Incremental work on configuration API * Incremental work on configuration API * Fix workflow runtime options * Move standard stream providers * Implement configurator dependencies * Cleanup configurator API * Update configurator dependencies * Cleanup * Update Label API endpoints * Fix eager configuration issue
42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using System;
|
|
using Elsa.Extensions;
|
|
using Elsa.Workflows.Core.Implementations;
|
|
using Elsa.Workflows.Core.Services;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace Elsa.Testing.Shared;
|
|
|
|
public class TestApplicationBuilder
|
|
{
|
|
private readonly ITestOutputHelper _testOutputHelper;
|
|
private readonly ServiceCollection _services;
|
|
|
|
public TestApplicationBuilder(ITestOutputHelper testOutputHelper)
|
|
{
|
|
_testOutputHelper = testOutputHelper;
|
|
_services = new ServiceCollection();
|
|
_services.ConfigureElsa();
|
|
|
|
_services
|
|
.AddSingleton(testOutputHelper)
|
|
.AddSingleton<IStandardOutStreamProvider>(new StandardOutStreamProvider(new XunitConsoleTextWriter(testOutputHelper)))
|
|
.AddLogging(logging => logging.AddProvider(new XunitLoggerProvider(testOutputHelper)).SetMinimumLevel(LogLevel.Debug));
|
|
}
|
|
|
|
public IServiceProvider Build() => _services.BuildServiceProvider();
|
|
|
|
public TestApplicationBuilder Configure(Action<IServiceCollection> configure)
|
|
{
|
|
configure(_services);
|
|
return this;
|
|
}
|
|
|
|
public TestApplicationBuilder WithCapturingTextWriter(CapturingTextWriter capturingTextWriter)
|
|
{
|
|
var combinedTextWriter = new CombinedTextWriter(capturingTextWriter, new XunitConsoleTextWriter(_testOutputHelper));
|
|
_services.AddSingleton<IStandardOutStreamProvider>(new StandardOutStreamProvider(combinedTextWriter));
|
|
return this;
|
|
}
|
|
} |