< Summary - Syki

Information
Class: Syki.Back.Features.Cross.SendResetPasswordToken.SendResetPasswordTokenService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Cross/SendResetPasswordToken/SendResetPasswordTokenService.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 20
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

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

File(s)

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

#LineLine coverage
 1using Syki.Back.Features.Cross.CreateUser;
 2
 3namespace Syki.Back.Features.Cross.SendResetPasswordToken;
 4
 3645public class SendResetPasswordTokenService(SykiDbContext ctx, UserManager<SykiUser> userManager) : ICrossService
 6{
 7    public async Task<OneOf<SykiSuccess, SykiError>> Send(SendResetPasswordTokenIn data)
 8    {
 3649        var user = await userManager.FindByEmailAsync(data.Email);
 36610        if (user == null) return new UserNotFound();
 11
 36212        var token = await userManager.GeneratePasswordResetTokenAsync(user);
 13
 36214        var reset = new ResetPasswordToken(user.Id, user.InstitutionId, token);
 36215        ctx.Add(reset);
 36216        await ctx.SaveChangesAsync();
 17
 36218        return new SykiSuccess();
 36419    }
 20}