< Summary - Syki

Information
Class: Syki.Back.Features.Academic.CreateCourse.CreateCourseService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/CreateCourse/CreateCourseService.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 19
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
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%22100%

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/CreateCourse/CreateCourseService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Academic.CreateCourse;
 2
 6003public class CreateCourseService(SykiDbContext ctx, HybridCache cache) : IAcademicService
 4{
 5    public async Task<OneOf<CourseOut, SykiError>> Create(Guid institutionId, CreateCourseIn data)
 6    {
 6007        if (!data.Type.IsValid()) return new InvalidCourseType();
 8
 5969        var course = new Course(institutionId, data.Name, data.Type);
 10
 485011        data.Disciplines.ForEach(d => course.Disciplines.Add(new(institutionId, d)));
 12
 59613        await ctx.SaveChangesAsync(course);
 14
 59615        await cache.RemoveAsync($"courses:{institutionId}");
 16
 59617        return course.ToOut();
 59818    }
 19}