< Summary - Syki

Information
Class: Syki.Back.Features.CourseOfferings.CreateCourseOffering.CreateCourseOfferingController
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/CourseOfferings/CreateCourseOffering/CreateCourseOfferingController.cs
Tag: 56_26538939494
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%
Create()100%11100%

File(s)

/home/runner/work/syki/syki/Back/Features/CourseOfferings/CreateCourseOffering/CreateCourseOfferingController.cs

#LineLine coverage
 1namespace Syki.Back.Features.CourseOfferings.CreateCourseOffering;
 2
 3[ApiController, Authorize(Policies.CreateCourseOffering)]
 24public class CreateCourseOfferingController(CreateCourseOfferingService service) : ControllerBase
 5{
 6    /// <summary>
 7    /// Criar oferta de curso
 8    /// </summary>
 9    /// <remarks>
 10    /// Cria uma nova oferta de curso.
 11    /// </remarks>
 12    [HttpPost("course-offerings")]
 13    [SwaggerResponseExample(200, typeof(ResponseExamples))]
 14    [SwaggerResponseExample(400, typeof(ErrorsExamples))]
 15    public async Task<IActionResult> Create([FromBody] CreateCourseOfferingIn data)
 16    {
 217        var result = await service.Create(data);
 218        return result.Match<IActionResult>(Ok, BadRequest);
 219    }
 20}
 21
 22internal class RequestExamples : ExamplesProvider<CreateCourseOfferingIn>;
 23internal class ResponseExamples : ExamplesProvider<CourseOfferingOut>;
 24internal class ErrorsExamples : ErrorExamplesProvider<
 25    InvalidCourseSession,
 26    CampusNotFound,
 27    CourseNotFound,
 28    CourseCurriculumNotFound,
 29    AcademicPeriodNotFound
 30>;