< Summary - Syki

Information
Class: Syki.Back.Features.Cross.SendResetPasswordToken.SendResetPasswordEmailCommandHandler
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Cross/SendResetPasswordToken/SendResetPasswordEmailCommand.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 20
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%
Handle()100%11100%

File(s)

/home/runner/work/syki/syki/Back/Features/Cross/SendResetPasswordToken/SendResetPasswordEmailCommand.cs

#LineLine coverage
 1using Syki.Back.Emails;
 2
 3namespace Syki.Back.Features.Cross.SendResetPasswordToken;
 4
 5[CommandDescription("Enviar email de redefinição de senha")]
 6public record SendResetPasswordEmailCommand(Guid UserId) : ICommand;
 7
 7028public class SendResetPasswordEmailCommandHandler(SykiDbContext ctx, IEmailsService emailsService) : ICommandHandler<Sen
 9{
 10    public async Task Handle(CommandId commandId, SendResetPasswordEmailCommand command)
 11    {
 70212        var user = await ctx.Users.AsNoTracking().FirstAsync(u => u.Id == command.UserId);
 13
 70214        var reset = await ctx.ResetPasswordTokens.AsNoTracking()
 70215            .OrderByDescending(r => r.CreatedAt)
 70216            .FirstAsync(r => r.UserId == user.Id);
 17
 70218        await emailsService.SendResetPasswordEmail(user.Email, reset.Id.ToString());
 70219    }
 20}