diff --git a/src/bundles/Elsa/Features/ElsaFeature.cs b/src/bundles/Elsa/Features/ElsaFeature.cs index 5e9887661..ee0c9cc44 100644 --- a/src/bundles/Elsa/Features/ElsaFeature.cs +++ b/src/bundles/Elsa/Features/ElsaFeature.cs @@ -16,7 +16,7 @@ namespace Elsa.Features; [DependsOn(typeof(MediatorFeature))] [DependsOn(typeof(WorkflowsFeature))] [DependsOn(typeof(FlowchartFeature))] -[DependsOn(typeof(WorkflowRuntimeFeature))] +[DependsOn(typeof(DefaultWorkflowRuntimeFeature))] [DependsOn(typeof(WorkflowManagementFeature))] public class ElsaFeature : FeatureBase { diff --git a/src/common/Elsa.Testing.Shared/TestApplicationBuilder.cs b/src/common/Elsa.Testing.Shared/TestApplicationBuilder.cs index c73e5dad4..de80d7368 100644 --- a/src/common/Elsa.Testing.Shared/TestApplicationBuilder.cs +++ b/src/common/Elsa.Testing.Shared/TestApplicationBuilder.cs @@ -8,12 +8,19 @@ using Xunit.Abstractions; namespace Elsa.Testing.Shared; +/// +/// A builder that can be used to configure an for testing purposes. +/// public class TestApplicationBuilder { private readonly ITestOutputHelper _testOutputHelper; private readonly ServiceCollection _services; private Action _configureElsa; + /// + /// Initializes a new instance of the class. + /// + /// The test output helper. public TestApplicationBuilder(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; @@ -30,24 +37,43 @@ public class TestApplicationBuilder ); } + /// + /// Builds the . + /// + /// The . public IServiceProvider Build() { _services.AddElsa(_configureElsa); return _services.BuildServiceProvider(); } + /// + /// Configures Elsa. + /// + /// The configuration delegate. + /// The . public TestApplicationBuilder ConfigureElsa(Action configure) { _configureElsa += configure; return this; } + /// + /// Configures the service provider. + /// + /// The configuration delegate. + /// The . public TestApplicationBuilder ConfigureServices(Action configure) { configure(_services); return this; } + /// + /// Configures the service provider to use a to capture standard output. + /// + /// The capturing text writer. + /// The . public TestApplicationBuilder WithCapturingTextWriter(CapturingTextWriter capturingTextWriter) { var combinedTextWriter = new CombinedTextWriter(capturingTextWriter, new XunitConsoleTextWriter(_testOutputHelper)); diff --git a/src/modules/Elsa.Workflows.Runtime/Extensions/ModuleExtensions.cs b/src/modules/Elsa.Workflows.Runtime/Extensions/ModuleExtensions.cs index 27b99ae68..0ac951f9d 100644 --- a/src/modules/Elsa.Workflows.Runtime/Extensions/ModuleExtensions.cs +++ b/src/modules/Elsa.Workflows.Runtime/Extensions/ModuleExtensions.cs @@ -18,6 +18,16 @@ public static class ModuleExtensions module.Configure(configure); return module; } + + /// + /// Enables the and configures it to use the default workflow runtime. + /// + public static IModule UseDefaultWorkflowRuntime(this IModule module, Action? configureRuntime = default, Action? configureDefaultRuntime = default) + { + module.Configure(configureRuntime); + module.Configure(configureDefaultRuntime); + return module; + } /// /// Register the specified workflow type.