< Summary - Syki

Information
Class: Syki.Back.Features.Academic.StartClasses.StartClassesController
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/StartClasses/StartClassesController.cs
Tag: 4_16869239191
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 30
Line coverage: 100%
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
.ctor(...)100%11100%
Start()100%11100%

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/StartClasses/StartClassesController.cs

#LineLine coverage
 1namespace Syki.Back.Features.Academic.StartClasses;
 2
 3[ApiController, AuthAcademic]
 4[EnableRateLimiting("Medium")]
 1005public class StartClassesController(StartClassesService service) : ControllerBase
 6{
 7    /// <summary>
 8    /// Iniciar turmas
 9    /// </summary>
 10    /// <remarks>
 11    /// Inicia várias turmas. <br/>
 12    /// Após isso, tanto professores quanto alunos passam a ter acesso às suas turmas.
 13    /// </remarks>
 14    [HttpPut("academic/classes/start")]
 15    [SwaggerResponseExample(200, typeof(ResponseExamples))]
 16    [SwaggerResponseExample(400, typeof(ErrorsExamples))]
 17    public async Task<IActionResult> Start([FromBody] StartClassesIn data)
 18    {
 10019        var result = await service.Start(User.InstitutionId, data);
 10020        return result.Match<IActionResult>(Ok, BadRequest);
 10021    }
 22}
 23
 24internal class RequestExamples : ExamplesProvider<StartClassesIn>;
 25internal class ResponseExamples : ExamplesProvider<SuccessOut>;
 26internal class ErrorsExamples : ErrorExamplesProvider<
 27    InvalidClassesList,
 28    ClassMustHaveOnEnrollmentStatus,
 29    EnrollmentPeriodNotFound,
 30    EnrollmentPeriodMustBeFinalized>;