< Summary - Syki

Information
Class: Syki.Back.Features.Academic.AssignDisciplinesToTeacher.AssignDisciplinesToTeacherService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/AssignDisciplinesToTeacher/AssignDisciplinesToTeacherService.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 12
Uncovered lines: 0
Coverable lines: 12
Total lines: 23
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%
Assign()100%44100%

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/AssignDisciplinesToTeacher/AssignDisciplinesToTeacherService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Academic.AssignDisciplinesToTeacher;
 2
 63public class AssignDisciplinesToTeacherService(SykiDbContext ctx) : IAcademicService
 4{
 5    public async Task<OneOf<SykiSuccess, SykiError>> Assign(Guid institutionId, Guid teacherId, AssignDisciplinesToTeach
 6    {
 67        var teacher = await ctx.Teachers.Include(x => x.Disciplines).FirstOrDefaultAsync(p => p.InstitutionId == institu
 88        if (teacher == null) return new TeacherNotFound();
 9
 410        var disciplines = await ctx.Disciplines
 411            .Where(x => data.Disciplines.Contains(x.Id))
 412            .ToListAsync();
 13
 414        if (disciplines.Count != data.Disciplines.Count)
 215            return new InvalidDisciplinesList();
 16
 217        teacher.Disciplines = disciplines;
 18
 219        await ctx.SaveChangesAsync();
 20
 221        return new SykiSuccess();
 622    }
 23}