< Summary - Syki

Information
Class: Syki.Back.Features.Academic.AssignCampiToTeacher.AssignCampiToTeacherService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/AssignCampiToTeacher/AssignCampiToTeacherService.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/AssignCampiToTeacher/AssignCampiToTeacherService.cs

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