< Summary

Information
Class: Elsa.Workflows.Runtime.DefaultWorkflowActivationStrategyEvaluator
Assembly: Elsa.Workflows.Runtime
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Runtime/Services/DefaultWorkflowActivationStrategyEvaluator.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 23
Line coverage: 100%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
CanStartWorkflowAsync()75%4490.9%

File(s)

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

#LineLine coverage
 1namespace Elsa.Workflows.Runtime;
 2
 7433public class DefaultWorkflowActivationStrategyEvaluator(IEnumerable<IWorkflowActivationStrategy> strategies) : IWorkflow
 4{
 5    public async Task<bool> CanStartWorkflowAsync(WorkflowActivationStrategyEvaluationContext context)
 6    {
 1717        var workflow = context.Workflow;
 1718        var strategyType = workflow.Options.ActivationStrategyType;
 9
 17110        if (strategyType == null)
 14911            return true;
 12
 8213        var strategy = strategies.FirstOrDefault(x => x.GetType() == strategyType);
 14
 2215        if (strategy == null)
 116            throw new InvalidOperationException($"Workflow activation strategy '{strategyType.FullName}' is configured b
 17
 2118        var correlationId = context.CorrelationId;
 2119        var cancellationToken = context.CancellationToken;
 2120        var strategyContext = new WorkflowInstantiationStrategyContext(workflow, correlationId, cancellationToken);
 2121        return await strategy.GetAllowActivationAsync(strategyContext);
 16822    }
 23}