< Summary

Information
Class: ClutterStock.Domain.Features.Items.GetItem.GetItemQueryHandler
Assembly: Domain
File(s): /home/runner/work/ClutterStock/ClutterStock/backend/src/Domain/Features/Items/GetItem/GetItemQueryHandler.cs
Tag: 58_25416222083
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
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%
HandleAsync()100%11100%

File(s)

/home/runner/work/ClutterStock/ClutterStock/backend/src/Domain/Features/Items/GetItem/GetItemQueryHandler.cs

#LineLine coverage
 1using ClutterStock.Domain.Abstractions;
 2using ClutterStock.Entities;
 3using Microsoft.EntityFrameworkCore;
 4
 5namespace ClutterStock.Domain.Features.Items.GetItem;
 6
 7public interface IGetItemQueryHandler : IQueryHandler
 8{
 9    Task<Item?> HandleAsync(Query query, CancellationToken cancellationToken = default);
 10
 11    record Query(int Id);
 12}
 13
 314public class GetItemQueryHandler(IAppDbContext context) : IGetItemQueryHandler
 15{
 16    public async Task<Item?> HandleAsync(IGetItemQueryHandler.Query query, CancellationToken cancellationToken = default
 17    {
 218        return await context.Items
 219                            .FirstOrDefaultAsync(i => i.Id == query.Id, cancellationToken);
 220    }
 21}