< Summary

Information
Class: Elsa.Identity.Endpoints.Roles.Delete.RoleDeletionEndpointSupport
Assembly: Elsa.Identity
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Endpoints/Roles/Delete/RoleDeletionEndpointSupport.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 21
Coverable lines: 21
Total lines: 47
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 20
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
SendOperationResultAsync(...)0%210140%
SendInspectionResultAsync()0%4260%
SendNoContentAsync(...)100%210%
SendErrorAsync(...)100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Endpoints/Roles/Delete/RoleDeletionEndpointSupport.cs

#LineLine coverage
 1using Elsa.Identity.Models;
 2using Microsoft.AspNetCore.Http;
 3
 4namespace Elsa.Identity.Endpoints.Roles.Delete;
 5
 6internal static class RoleDeletionEndpointSupport
 7{
 08    public static Task SendOperationResultAsync(HttpContext context, RoleDeletionOperationResult result, CancellationTok
 09    {
 010        RoleDeletionOperationResult.Deleted => SendNoContentAsync(context),
 011        RoleDeletionOperationResult.NotFound => SendErrorAsync(context, StatusCodes.Status404NotFound, "not_found", "The
 012        RoleDeletionOperationResult.Forbidden => SendErrorAsync(context, StatusCodes.Status403Forbidden, "forbidden", "T
 013        RoleDeletionOperationResult.Blocked blocked => SendErrorAsync(context, StatusCodes.Status409Conflict, "conflict"
 014        RoleDeletionOperationResult.PreconditionFailed conflict => SendErrorAsync(context, StatusCodes.Status409Conflict
 015        RoleDeletionOperationResult.ConfirmationRequired confirmation => SendErrorAsync(context, StatusCodes.Status400Ba
 016        RoleDeletionOperationResult.Incomplete incomplete => SendErrorAsync(context, StatusCodes.Status409Conflict, "con
 017        _ => throw new InvalidOperationException("Unknown role-deletion operation result.")
 018    };
 19
 20    public static async Task SendInspectionResultAsync(HttpContext context, RoleDeletionInspectionResult result, Cancell
 21    {
 22        switch (result)
 23        {
 24            case RoleDeletionInspectionResult.Success success:
 025                await context.Response.WriteAsJsonAsync(RoleDeletionImpactResponse.From(success.Impact), cancellationTok
 026                break;
 27            case RoleDeletionInspectionResult.NotFound:
 028                await SendErrorAsync(context, StatusCodes.Status404NotFound, "not_found", "The role was not found.", nul
 029                break;
 30            case RoleDeletionInspectionResult.Forbidden:
 031                await SendErrorAsync(context, StatusCodes.Status403Forbidden, "forbidden", "The caller may not inspect d
 32                break;
 33        }
 034    }
 35
 36    private static Task SendNoContentAsync(HttpContext context)
 37    {
 038        context.Response.StatusCode = StatusCodes.Status204NoContent;
 039        return Task.CompletedTask;
 40    }
 41
 42    private static Task SendErrorAsync(HttpContext context, int statusCode, string error, string message, object? detail
 43    {
 044        context.Response.StatusCode = statusCode;
 045        return context.Response.WriteAsJsonAsync(new RoleDeletionErrorResponse(error, message, details), cancellationTok
 46    }
 47}