< Summary - Syki

Information
Class: Syki.Back.Features.Academic.CreateTeacher.SykiTeacher
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/CreateTeacher/SykiTeacher.cs
Tag: 4_16869239191
Line coverage
75%
Covered lines: 22
Uncovered lines: 7
Coverable lines: 29
Total lines: 64
Line coverage: 75.8%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%11100%
get_InstitutionId()100%11100%
get_Name()100%11100%
get_Disciplines()100%11100%
get_Campi()100%11100%
get_SchedulingPreferences()100%11100%
.ctor()100%11100%
.ctor(...)100%11100%
ToOut()100%11100%
ToGetAcademicTeacherOut()100%210%

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/CreateTeacher/SykiTeacher.cs

#LineLine coverage
 1using Syki.Back.Features.Academic.CreateClass;
 2using Syki.Back.Features.Academic.CreateCampus;
 3using Syki.Back.Features.Academic.CreateDiscipline;
 4
 5namespace Syki.Back.Features.Academic.CreateTeacher;
 6
 7/// <summary>
 8/// Representa um Professor.
 9/// </summary>
 10public class SykiTeacher : Entity
 11{
 80012    public Guid Id { get; set; }
 53413    public Guid InstitutionId { get; set; }
 116214    public string Name { get; set; }
 15
 16    /// <summary>
 17    /// Disciplinas que o professor está apto a lecionar
 18    /// </summary>
 219    public List<Discipline> Disciplines { get; set; }
 20
 21    /// <summary>
 22    /// Conjunto de campus que o professor trabalha
 23    /// </summary>
 224    public List<Campus> Campi { get; set; }
 25
 26    /// <summary>
 27    /// Preferências de horários do professor no semestre atual
 28    /// </summary>
 229    public List<Schedule> SchedulingPreferences { get; set; }
 30
 127631    private SykiTeacher() { }
 32
 26633    public SykiTeacher(
 26634        Guid userId,
 26635        Guid institutionId,
 26636        string name
 26637    ) {
 26638        Id = userId;
 26639        InstitutionId = institutionId;
 26640        Name = name;
 41
 26642        AddDomainEvent(new TeacherCreatedDomainEvent(Id, InstitutionId));
 26643    }
 44
 45    public TeacherOut ToOut()
 46    {
 26247        return new()
 26248        {
 26249            Id = Id,
 26250            Name = Name,
 26251        };
 52    }
 53
 54    public GetAcademicTeacherOut ToGetAcademicTeacherOut()
 55    {
 056        return new()
 057        {
 058            Id = Id,
 059            Name = Name,
 060            Disciplines = Disciplines.ConvertAll(x => x.ToGetAcademicTeacherDisciplineOut()),
 061            Campi = Campi.ConvertAll(x => x.ToGetAcademicTeacherCampusOut()),
 062        };
 63    }
 64}