< Summary

Information
Class: Elsa.Identity.Models.RoleFilter
Assembly: Elsa.Identity
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Models/RoleFilter.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 33
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%11100%
get_Ids()100%11100%
Apply(...)100%44100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Models/RoleFilter.cs

#LineLine coverage
 1using Elsa.Identity.Entities;
 2
 3namespace Elsa.Identity.Models;
 4
 5/// <summary>
 6/// Represents a role filter.
 7/// </summary>
 8public class RoleFilter
 9{
 10    /// <summary>
 11    /// Gets or sets the role ID to filter for.
 12    /// </summary>
 1213    public string? Id { get; set; }
 14
 15    /// <summary>
 16    /// Gets or sets the role IDs to filter for.
 17    /// </summary>
 1118    public ICollection<string>? Ids { get; set; }
 19
 20    /// <summary>
 21    /// Applies the filter to the specified queryable.
 22    /// </summary>
 23    /// <param name="queryable">The queryable.</param>
 24    /// <returns>The filtered queryable.</returns>
 25    public IQueryable<Role> Apply(IQueryable<Role> queryable)
 26    {
 627        var filter = this;
 928        if (filter.Id != null) queryable = queryable.Where(x => x.Id == filter.Id);
 929        if (filter.Ids != null) queryable = queryable.Where(x => filter.Ids.Contains(x.Id));
 30
 631        return queryable;
 32    }
 33}