< Summary - Syki

Information
Class: Syki.Back.Features.Academic.CreateTeacher.CreateTeacherService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/CreateTeacher/CreateTeacherService.cs
Tag: 21_17346963026
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 25
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/CreateTeacher/CreateTeacherService.cs

#LineLine coverage
 1using Syki.Back.Features.Cross.CreateUser;
 2
 3namespace Syki.Back.Features.Academic.CreateTeacher;
 4
 2785public class CreateTeacherService(SykiDbContext ctx, CreateUserService service, HybridCache cache) : IAcademicService
 6{
 7    public async Task<OneOf<TeacherOut, SykiError>> Create(Guid institutionId, CreateTeacherIn data)
 8    {
 2789        var userIn = CreateUserIn.NewTeacher(institutionId, data.Name, data.Email);
 27810        var result = await service.Create(userIn);
 11
 28212        if (result.IsError) return result.Error;
 13
 27414        var user = result.Success;
 15
 27416        var teacher = new SykiTeacher(user.Id, institutionId, data.Name);
 27417        ctx.Add(teacher);
 18
 27419        await ctx.SaveChangesAsync();
 20
 27421        await cache.RemoveAsync($"teachers:{institutionId}");
 22
 27423        return teacher.ToOut();
 27824    }
 25}