< Summary - Syki

Information
Class: Syki.Back.Features.Teacher.CreateClassActivity.CreateClassActivityService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Teacher/CreateClassActivity/CreateClassActivityService.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 24
Uncovered lines: 0
Coverable lines: 24
Total lines: 35
Line coverage: 100%
Branch coverage
100%
Covered branches: 6
Total branches: 6
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%
Create()100%66100%

File(s)

/home/runner/work/syki/syki/Back/Features/Teacher/CreateClassActivity/CreateClassActivityService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Teacher.CreateClassActivity;
 2
 1703public class CreateClassActivityService(SykiDbContext ctx) : ITeacherService
 4{
 5    public async Task<OneOf<CreateClassActivityOut, SykiError>> Create(Guid teacherId, Guid classId, CreateClassActivity
 6    {
 1707        var @class = await ctx.Classes
 1708            .Include(x => x.Activities)
 1709            .FirstOrDefaultAsync(x => x.Id == classId && x.TeacherId == teacherId);
 17210        if (@class == null) return new ClassNotFound();
 11
 16812        var students = await ctx.ClassesStudents.Where(x => x.ClassId == classId)
 16813            .Select(x => x.SykiStudentId).ToListAsync();
 14
 16815        var activity = ClassActivity.New(
 16816            classId,
 16817            data.Note,
 16818            data.Title,
 16819            data.Description,
 16820            data.Type,
 16821            data.Weight,
 16822            data.DueDate,
 16823            data.DueHour,
 16824            students
 16825        );
 17226        if (activity.IsError) return activity.Error;
 27
 16428        var result = @class.AddActivity(activity.Success);
 18429        if (result.IsError) return result.Error;
 30
 14431        await ctx.SaveChangesAsync();
 32
 14433        return activity.Success.ToCreateOut();
 17034    }
 35}