< Summary - Syki

Information
Class: Syki.Back.Features.Teacher.SetSchedulingPreferences.SetSchedulingPreferencesService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Teacher/SetSchedulingPreferences/SetSchedulingPreferencesService.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 9
Uncovered lines: 0
Coverable lines: 9
Total lines: 23
Line coverage: 100%
Branch coverage
75%
Covered branches: 3
Total branches: 4
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Set()75%44100%

File(s)

/home/runner/work/syki/syki/Back/Features/Teacher/SetSchedulingPreferences/SetSchedulingPreferencesService.cs

#LineLine coverage
 1using Syki.Back.Features.Academic.CreateClass;
 2
 3namespace Syki.Back.Features.Teacher.SetSchedulingPreferences;
 4
 25public class SetSchedulingPreferencesService(SykiDbContext ctx) : IAcademicService
 6{
 7    public async Task<OneOf<SykiSuccess, SykiError>> Set(Guid institutionId, Guid teacherId, SetSchedulingPreferencesIn 
 8    {
 29        var teacher = await ctx.Teachers.Include(x => x.SchedulingPreferences).FirstAsync(p => p.InstitutionId == instit
 10
 411        var schedules = data.Schedules.ConvertAll(h => Schedule.New(h.Day, h.Start, h.End));
 812        foreach (var schedule in schedules)
 13        {
 214            if (schedule.IsError) return schedule.Error;
 15        }
 16
 417        teacher.SchedulingPreferences = schedules.ConvertAll(x => x.Success);
 18
 219        await ctx.SaveChangesAsync();
 20
 221        return new SykiSuccess();
 222    }
 23}