diff --git a/test/WorkflowCore.IntegrationTests/Scenarios/DiScenario.cs b/test/WorkflowCore.IntegrationTests/Scenarios/DiScenario.cs index 81a782264..2579e2946 100644 --- a/test/WorkflowCore.IntegrationTests/Scenarios/DiScenario.cs +++ b/test/WorkflowCore.IntegrationTests/Scenarios/DiScenario.cs @@ -87,6 +87,8 @@ public abstract class DiScenario : WorkflowTest { protected void ConfigureHost(IServiceProvider serviceProvider) { + Workflow = serviceProvider.GetService(); + PersistenceProvider = serviceProvider.GetService(); Host = serviceProvider.GetService(); Host.RegisterWorkflow(); @@ -111,6 +113,7 @@ public DiMsTransientScenario() services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddLogging(); ConfigureServices(services); @@ -149,6 +152,7 @@ public DiMsScopedScenario() services.AddScoped(); services.AddTransient(); services.AddLogging(); + services.AddTransient(); ConfigureServices(services); var serviceProvider = services.BuildServiceProvider(); @@ -191,6 +195,7 @@ public DiAutoFacTransientScenario() builder.RegisterType().InstancePerDependency(); builder.RegisterType().InstancePerDependency(); builder.RegisterType().InstancePerDependency(); + builder.RegisterType().InstancePerDependency(); var container = builder.Build(); var serviceProvider = new AutofacServiceProvider(container); @@ -233,6 +238,7 @@ public DiAutoFacScopedScenario() builder.RegisterType().InstancePerLifetimeScope(); builder.RegisterType().InstancePerLifetimeScope(); builder.RegisterType().InstancePerLifetimeScope(); + builder.RegisterType().InstancePerLifetimeScope(); var container = builder.Build(); var serviceProvider = new AutofacServiceProvider(container); diff --git a/test/WorkflowCore.Testing/WorkflowCore.Testing.csproj b/test/WorkflowCore.Testing/WorkflowCore.Testing.csproj index 32f9c1363..f8ddd588e 100644 --- a/test/WorkflowCore.Testing/WorkflowCore.Testing.csproj +++ b/test/WorkflowCore.Testing/WorkflowCore.Testing.csproj @@ -2,9 +2,9 @@ netstandard2.0 - 2.3.0 - 2.3.0.0 - 2.3.0.0 + 2.3.1 + 2.3.1.0 + 2.3.1.0 Facilitates testing of workflows built on Workflow-Core diff --git a/test/WorkflowCore.Testing/WorkflowTest.cs b/test/WorkflowCore.Testing/WorkflowTest.cs index f61d6be0a..3fe13845b 100644 --- a/test/WorkflowCore.Testing/WorkflowTest.cs +++ b/test/WorkflowCore.Testing/WorkflowTest.cs @@ -1,8 +1,6 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; @@ -13,18 +11,21 @@ namespace WorkflowCore.Testing { public abstract class WorkflowTest : IDisposable - where TWorkflow : IWorkflow, new() + where TWorkflow : class, IWorkflow where TData : class, new() { protected IWorkflowHost Host; protected IPersistenceProvider PersistenceProvider; protected List UnhandledStepErrors = new List(); + protected TWorkflow Workflow; protected virtual void Setup() { //setup dependency injection IServiceCollection services = new ServiceCollection(); services.AddLogging(); + services.AddTransient(); + ConfigureServices(services); var serviceProvider = services.BuildServiceProvider(); @@ -33,6 +34,8 @@ protected virtual void Setup() var loggerFactory = serviceProvider.GetService(); //loggerFactory.AddConsole(LogLevel.Debug); + Workflow = serviceProvider.GetService(); + PersistenceProvider = serviceProvider.GetService(); Host = serviceProvider.GetService(); Host.RegisterWorkflow(); @@ -57,15 +60,13 @@ protected virtual void ConfigureServices(IServiceCollection services) public string StartWorkflow(TData data) { - var def = new TWorkflow(); - var workflowId = Host.StartWorkflow(def.Id, data).Result; + var workflowId = Host.StartWorkflow(Workflow.Id, data).Result; return workflowId; } public async Task StartWorkflowAsync(TData data) { - var def = new TWorkflow(); - var workflowId = await Host.StartWorkflow(def.Id, data); + var workflowId = await Host.StartWorkflow(Workflow.Id, data); return workflowId; }