< Summary - Syki

Information
Class: Syki.Back.Features.Academic.CreateStudent.SykiStudent
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/CreateStudent/SykiStudent.cs
Tag: 4_16869239191
Line coverage
97%
Covered lines: 33
Uncovered lines: 1
Coverable lines: 34
Total lines: 52
Line coverage: 97%
Branch coverage
75%
Covered branches: 9
Total branches: 12
Branch coverage: 75%
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_User()100%11100%
get_CourseOfferingId()100%11100%
get_CourseOffering()100%11100%
get_Name()100%11100%
get_EnrollmentCode()100%11100%
get_Status()100%11100%
get_YieldCoefficient()100%210%
.ctor()100%11100%
.ctor(...)100%11100%
ToOut()75%1212100%

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/CreateStudent/SykiStudent.cs

#LineLine coverage
 1using Syki.Back.Features.Cross.CreateUser;
 2using Syki.Back.Features.Academic.CreateCourseOffering;
 3
 4namespace Syki.Back.Features.Academic.CreateStudent;
 5
 6/// <summary>
 7/// Representa um Aluno.
 8/// </summary>
 9public class SykiStudent : Entity
 10{
 163011    public Guid Id { get; set; }
 117012    public Guid InstitutionId { get; set; }
 36413    public SykiUser User { get; set; }
 77214    public Guid CourseOfferingId { get; set; }
 18415    public CourseOffering CourseOffering { get; set; }
 78416    public string Name { get; set; }
 117417    public string EnrollmentCode { get; set; }
 59018    public StudentStatus Status { get; set; }
 019    public decimal YieldCoefficient { get; set; }
 20
 64821    private SykiStudent() {}
 22
 58423    public SykiStudent(
 58424        Guid userId,
 58425        Guid institutionId,
 58426        string name,
 58427        Guid courseOfferingId
 58428    ) {
 58429        Id = userId;
 58430        Name = name;
 58431        InstitutionId = institutionId;
 58432        CourseOfferingId = courseOfferingId;
 58433        EnrollmentCode = $"{DateTime.UtcNow.Year}{Guid.NewGuid().ToString()[..8].ToUpper()}";
 58434        Status = StudentStatus.Enrolled;
 35
 58436        AddDomainEvent(new StudentCreatedDomainEvent(Id, InstitutionId));
 58437    }
 38
 39    public StudentOut ToOut()
 40    {
 18241        return new()
 18242        {
 18243            Id = Id,
 18244            Name = Name,
 18245            Email = User?.Email ?? "-",
 18246            PhoneNumber = User?.PhoneNumber,
 18247            EnrollmentCode = EnrollmentCode,
 18248            CourseOfferingId = CourseOfferingId,
 18249            CourseOffering = CourseOffering?.Course?.Name ?? "-",
 18250        };
 51    }
 52}