2021-02-24 13:29:03 +00:00
using Xunit ;
using Elsa.Testing.Shared.AutoFixture.Attributes ;
using AutoFixture.Xunit2 ;
using System ;
2021-04-02 10:42:46 +00:00
using System.Threading ;
2021-04-07 11:00:58 +00:00
using Elsa.Testing.Shared ;
2021-02-24 13:29:03 +00:00
namespace Elsa.Services.Models
{
public class ActivityExecutionContextTests
{
[Theory(DisplayName = "The PurgeVariables method should clear the Variables instance associated with the WorkflowInstance associated with the Workflow Execution Context"), AutoMoqData]
2021-04-02 12:28:27 +00:00
public void PurgeVariables_clears_workflow_execution_context_workflow_instance_variables ( [ WithAutofixtureResolution , Frozen ] IServiceProvider serviceProvider ,
2021-04-02 10:42:46 +00:00
[OmitOnRecursion] WorkflowExecutionContext workflowExecutionContext ,
IActivityBlueprint activityBlueprint ,
CancellationToken cancellationToken ,
2021-03-30 08:05:50 +00:00
string variableName ,
object variableValue )
2021-02-24 13:29:03 +00:00
{
2021-04-02 10:42:46 +00:00
var sut = new ActivityExecutionContext ( serviceProvider , workflowExecutionContext , activityBlueprint , null , false , cancellationToken ) ;
2021-02-24 13:29:03 +00:00
sut . WorkflowExecutionContext . WorkflowInstance . Variables . Set ( variableName , variableValue ) ;
sut . PurgeVariables ( ) ;
Assert . Empty ( sut . WorkflowExecutionContext . WorkflowInstance . Variables . Data ) ;
}
}
}