< Summary - Syki

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

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Get()50%44100%

File(s)

/home/runner/work/syki/syki/Back/Features/Teacher/GetTeacherClassActivity/GetTeacherClassActivityService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Teacher.GetTeacherClassActivity;
 2
 63public class GetTeacherClassActivityService(SykiDbContext ctx) : ITeacherService
 4{
 5    public async Task<OneOf<TeacherClassActivityOut, SykiError>> Get(Guid teacherId, Guid classId, Guid activityId)
 6    {
 67        var classOk = await ctx.Classes.AnyAsync(x => x.Id == classId && x.TeacherId == teacherId);
 68        if (!classOk) return new ClassNotFound();
 9
 610        var activity = await ctx.ClassActivities.AsNoTracking()
 611            .Include(x => x.Works)
 612                .ThenInclude(w => w.SykiStudent)
 613            .Where(t => t.ClassId == classId && t.Id == activityId)
 614            .FirstOrDefaultAsync();
 15
 616        if (activity == null) return new ClassActivityNotFound();
 17
 618        return activity.ToOut();
 619    }
 20}