< Summary - MechanicsSoftware — Coverage Report

Information
Class: MechanicsSoftware.Application.UseCases.ServiceOrders.Handlers.StartDiagnosisHandler
Assembly: MechanicsSoftware.Application
File(s): /home/runner/work/mechanics-software/mechanics-software/src/MechanicsSoftware.Application/UseCases/ServiceOrders/Handlers/StartDiagnosisHandler.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 21
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/StartDiagnosisHandler.cs

#LineLine coverage
 1using MechanicsSoftware.Application.Abstractions;
 2using Microsoft.Extensions.Logging;
 3
 4namespace MechanicsSoftware.Application.UseCases.ServiceOrders.Handlers;
 5
 126public sealed class StartDiagnosisHandler(IAppDbContext db, IEmailNotifier emailNotifier, ILogger<StartDiagnosisHandler>
 7{
 8    public async Task<ServiceOrderResponse> ExecuteAsync(
 9        Guid serviceOrderId, CancellationToken cancellationToken = default)
 1210    {
 1211        var order = await db.ServiceOrders.FindFullAsync(serviceOrderId, cancellationToken);
 12
 1013        order.StartDiagnosis();
 14
 615        await db.SaveChangesAsync(cancellationToken);
 16
 617        await emailNotifier.TrySendStatusEmailAsync(db, logger, order, cancellationToken);
 18
 619        return ServiceOrderResponse.From(order);
 620    }
 21}