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.