< Summary

Information
Class: Elsa.Workflows.Runtime.WorkflowRuntimeTypeAliasRegistrar
Assembly: Elsa.Workflows.Runtime
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Runtime/WorkflowRuntimeTypeAliasRegistrar.cs
Line coverage
100%
Covered lines: 17
Uncovered lines: 0
Coverable lines: 17
Total lines: 36
Line coverage: 100%
Branch coverage
60%
Covered branches: 6
Total branches: 10
Branch coverage: 60%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Register(...)100%22100%
IsConcreteWorkflowType(...)50%88100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Runtime/WorkflowRuntimeTypeAliasRegistrar.cs

#LineLine coverage
 1using Elsa.Extensions;
 2using Elsa.Workflows;
 3using Elsa.Workflows.Options;
 4using Elsa.Workflows.Runtime.Bookmarks;
 5using Elsa.Workflows.Runtime.Stimuli;
 6using Elsa.Common.Serialization;
 7
 8namespace Elsa.Workflows.Runtime;
 9
 10internal static class WorkflowRuntimeTypeAliasRegistrar
 11{
 12    public static void Register(SerializationTypeOptions options, IEnumerable<Type> workflowTypes)
 13    {
 24014        options.AddTypeAlias<EventBookmarkPayload>();
 24015        options.AddTypeAlias<ExecuteWorkflowPayload>();
 24016        options.AddTypeAlias<RunTaskBookmarkPayload>();
 24017        options.AddTypeAlias<BookmarkTokenPayload>();
 24018        options.AddTypeAlias<EventTokenPayload>();
 24019        options.AddTypeAlias<ExecuteWorkflowResult>();
 24020        options.AddTypeAlias<WorkflowInterruptedPayload>();
 24021        options.AddTypeAlias<BackgroundActivityStimulus>();
 24022        options.AddTypeAlias<BulkDispatchWorkflowsStimulus>();
 24023        options.AddTypeAlias<DispatchWorkflowStimulus>();
 24024        options.AddTypeAlias<EventStimulus>();
 24025        options.AddTypeAlias<ExecuteWorkflowStimulus>();
 24026        options.AddTypeAlias<RunTaskStimulus>();
 27
 92428        foreach (var workflowType in workflowTypes.Where(IsConcreteWorkflowType).Distinct())
 22229            options.RegisterTypeAlias(workflowType, workflowType.GetSimpleAssemblyQualifiedName());
 24030    }
 31
 32    private static bool IsConcreteWorkflowType(Type type)
 33    {
 22234        return typeof(IWorkflow).IsAssignableFrom(type) && type is { IsAbstract: false, IsInterface: false, ContainsGene
 35    }
 36}