From 466c4b922e9a0d374429fcb034d2c8b23fc57120 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 3 Jul 2023 21:31:03 +0200 Subject: [PATCH] Fix tests, remove named variables Only reference variables by C# reference or reference ID --- .../Scenarios/SetGetVariables/Tests.cs | 8 ++--- .../Scenarios/SetGetVariables/Workflows.cs | 30 +++++++++++-------- .../Scenarios/WorkflowResults/Tests.cs | 10 +++---- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs index aaab97357..b440f89a6 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Tests.cs @@ -21,10 +21,10 @@ public class Tests _workflowRunner = services.GetRequiredService(); } - [Fact(DisplayName = "Subsequent activity does not get scheduled when previous activity created a bookmark")] + [Fact(DisplayName = "Workflow can set variable")] public async Task Test1() { - await _workflowRunner.RunAsync(); + await _workflowRunner.RunAsync(); var lines = _capturingTextWriter.Lines.ToList(); Assert.Equal(new[] { "Line 5" }, lines); } @@ -32,8 +32,8 @@ public class Tests [Fact(DisplayName = "Workflow can reference variables set in previous activities")] public async Task Test2() { - await _workflowRunner.RunAsync(); + await _workflowRunner.RunAsync(); var lines = _capturingTextWriter.Lines.ToList(); - Assert.Equal(new[] { "Other variable: Some value" }, lines); + Assert.Equal(new[] { "Variable 2: The value of variable 1" }, lines); } } \ No newline at end of file diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs index e8c30ee54..8231f850a 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/SetGetVariables/Workflows.cs @@ -1,4 +1,3 @@ -using Elsa.Extensions; using Elsa.Workflows.Core.Abstractions; using Elsa.Workflows.Core.Activities; using Elsa.Workflows.Core.Contracts; @@ -6,46 +5,51 @@ using Elsa.Workflows.Core.Models; namespace Elsa.IntegrationTests.Scenarios.SetGetVariables; -class SetGetVariablesWorkflow : WorkflowBase +class SetGetVariableWorkflow : WorkflowBase { protected override void Build(IWorkflowBuilder workflow) { - var variable = new Variable("test"); + var variable1 = new Variable(); workflow.Root = new Sequence { Variables = { - variable + variable1 }, Activities = { - new SetVariable(variable,"Line 5"), - new WriteLine(variable) + new SetVariable(variable1,"Line 5"), + new WriteLine(variable1) } }; } } -class SetGetNamedVariablesWorkflow : WorkflowBase +class SetGetVariablesWorkflow : WorkflowBase { protected override void Build(IWorkflowBuilder workflow) { + var variable1 = new Variable(); + var variable2 = new Variable(); + workflow.Root = new Sequence { + Variables = { variable1, variable2 }, + Activities = { - new SetVariable() + new SetVariable { - Variable = new Variable("MyVar"), - Value = new ("Some value") + Variable = variable1, + Value = new ("The value of variable 1") }, new SetVariable() { - Variable = new Variable("some_other_variable"), - Value = new Input(new Variable("MyVar")) + Variable = variable2, + Value = new Input(variable1) }, - new WriteLine(context => $"Other variable: {context.GetVariable("MyVar")}") + new WriteLine(context => $"Variable 2: {variable2.Get(context)}") } }; } diff --git a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs index 3717cec0d..7695280fc 100644 --- a/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs +++ b/test/integration/Elsa.IntegrationTests/Scenarios/WorkflowResults/Tests.cs @@ -20,24 +20,24 @@ public class Tests _workflowRunner = services.GetRequiredService(); } - [Fact(DisplayName = "Setting a named variable should be captured when the ResultVariable is set")] + [Fact(DisplayName = "Setting a variable should be captured when the ResultVariable is set")] public async Task Test1() { var expectedValue = "Some value"; - var variableName = "MyVar"; + var variable1 = new Variable(); var workflow = Workflow.FromActivity(new Sequence { Activities = { - new SetVariable() + new SetVariable { - Variable = new (variableName), + Variable = variable1, Value = new (expectedValue) } } }); - workflow.ResultVariable = new (variableName); + workflow.ResultVariable = variable1; var runWorkflowResult = await _workflowRunner.RunAsync(workflow); Assert.Equal(expectedValue, runWorkflowResult.Result); }