< Summary - MechanicsSoftware — Coverage Report

Information
Class: MechanicsSoftware.Application.UseCases.ServiceOrders.Handlers.GenerateBudgetHandler
Assembly: MechanicsSoftware.Application
File(s): /home/runner/work/mechanics-software/mechanics-software/src/MechanicsSoftware.Application/UseCases/ServiceOrders/Handlers/GenerateBudgetHandler.cs
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 18
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
ExecuteAsync()100%11100%

File(s)

/home/runner/work/mechanics-software/mechanics-software/src/MechanicsSoftware.Application/UseCases/ServiceOrders/Handlers/GenerateBudgetHandler.cs

#LineLine coverage
 1using MechanicsSoftware.Application.Abstractions;
 2
 3namespace MechanicsSoftware.Application.UseCases.ServiceOrders.Handlers;
 4
 85public sealed class GenerateBudgetHandler(IAppDbContext db)
 6{
 7    public async Task<BudgetResponse> ExecuteAsync(
 8        Guid serviceOrderId, CancellationToken cancellationToken = default)
 89    {
 810        var order = await db.ServiceOrders.FindFullAsync(serviceOrderId, cancellationToken);
 11
 612        var budget = order.GenerateBudget();
 13
 214        await db.SaveChangesAsync(cancellationToken);
 15
 216        return BudgetResponse.From(budget);
 217    }
 18}