< Summary - Syki

Information
Class: Syki.Back.Features.Disciplines.UpdateDiscipline.UpdateDisciplineService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Disciplines/UpdateDiscipline/UpdateDisciplineService.cs
Tag: 56_26538939494
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 27
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
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%
.ctor()100%11100%
.cctor()100%11100%
Update()100%44100%

File(s)

/home/runner/work/syki/syki/Back/Features/Disciplines/UpdateDiscipline/UpdateDisciplineService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Disciplines.UpdateDiscipline;
 2
 83public class UpdateDisciplineService(SykiDbContext ctx) : ISykiService
 4{
 5    private class Validator : AbstractValidator<UpdateDisciplineIn>
 6    {
 27        public Validator()
 8        {
 29            RuleFor(x => x.Name).NotEmpty().WithError(InvalidDisciplineName.I);
 210            RuleFor(x => x.Name).MaximumLength(50).WithError(InvalidDisciplineName.I);
 211        }
 12    }
 213    private static readonly Validator V = new();
 14
 15    public async Task<OneOf<UpdateDisciplineOut, SykiError>> Update(UpdateDisciplineIn data)
 16    {
 1017        if (V.Run(data, out var error)) return error;
 18
 619        var discipline = await ctx.Disciplines.FirstOrDefaultAsync(x => x.InstitutionId == ctx.RequestUser.InstitutionId
 1020        if (discipline == null) return DisciplineNotFound.I;
 21
 222        discipline.Update(data.Name);
 223        await ctx.SaveChangesAsync();
 24
 225        return discipline.ToUpdateDisciplineOut();
 826    }
 27}