< Summary - Syki

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

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/GetCourses/GetCoursesService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Academic.GetCourses;
 2
 83public class GetCoursesService(SykiDbContext ctx, HybridCache cache) : IAcademicService
 4{
 5    public async Task<GetCoursesOut> Get()
 6    {
 87        return await cache.GetOrCreateAsync(
 88            key: $"courses:{ctx.InstitutionId}",
 89            state: ctx,
 810            factory: async (state, _) =>
 811            {
 412                var courses = await state.GetCourses(state.InstitutionId);
 413                return new GetCoursesOut
 414                {
 415                    Total = courses.Count,
 2016                    Items = courses.ConvertAll(c => c.ToGetCoursesItemOut())
 417                };
 418            }
 819        );
 820    }
 21}