< Summary

Information
Class: Elsa.Workflows.Management.Activities.WorkflowDefinitionActivity.WorkflowDefinitionActivityProvider
Assembly: Elsa.Workflows.Management
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivityProvider.cs
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 39
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
GetDescriptorsAsync()100%11100%
CreateDescriptors(...)100%11100%
CreateDescriptor(...)100%22100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivityProvider.cs

#LineLine coverage
 1using Elsa.Common.Models;
 2using Elsa.Common.Multitenancy;
 3using Elsa.Workflows.Management.Entities;
 4using Elsa.Workflows.Management.Filters;
 5using Elsa.Workflows.Models;
 6
 7namespace Elsa.Workflows.Management.Activities.WorkflowDefinitionActivity;
 8
 9/// <summary>
 10/// Provides activity descriptors based on <see cref="WorkflowDefinition"/>s stored in the database.
 11/// </summary>
 46312public class WorkflowDefinitionActivityProvider(IWorkflowDefinitionStore store, WorkflowDefinitionActivityDescriptorFact
 13{
 14    /// <inheritdoc />
 15    public async ValueTask<IEnumerable<ActivityDescriptor>> GetDescriptorsAsync(CancellationToken cancellationToken = de
 16    {
 12017        var filter = new WorkflowDefinitionFilter
 12018        {
 12019            UsableAsActivity = true,
 12020            VersionOptions = VersionOptions.All
 12021        };
 22
 12023        var definitions = (await store.FindManyAsync(filter, cancellationToken)).ToList();
 12024        return CreateDescriptors(definitions).ToList();
 12025    }
 26
 27    private IEnumerable<ActivityDescriptor> CreateDescriptors(ICollection<WorkflowDefinition> definitions)
 28    {
 100229        return definitions.Select(x => CreateDescriptor(x, definitions));
 30    }
 31
 32    private ActivityDescriptor CreateDescriptor(WorkflowDefinition definition, ICollection<WorkflowDefinition> allDefini
 33    {
 88234        var latestPublishedVersion = allDefinitions
 1025035            .Where(x => x.DefinitionId == definition.DefinitionId && x.IsPublished)
 160136            .MaxBy(x => x.Version);
 88237        return workflowDefinitionActivityDescriptorFactory.CreateDescriptor(definition, latestPublishedVersion);
 38    }
 39}