< Summary - Syki

Information
Class: Syki.Back.Features.Academic.UpdateEnrollmentPeriod.UpdateEnrollmentPeriodService
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Features/Academic/UpdateEnrollmentPeriod/UpdateEnrollmentPeriodService.cs
Tag: 21_17346963026
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 22
Line coverage: 100%
Branch coverage
100%
Covered branches: 6
Total branches: 6
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Update()100%66100%

File(s)

/home/runner/work/syki/syki/Back/Features/Academic/UpdateEnrollmentPeriod/UpdateEnrollmentPeriodService.cs

#LineLine coverage
 1namespace Syki.Back.Features.Academic.UpdateEnrollmentPeriod;
 2
 1003public class UpdateEnrollmentPeriodService(SykiDbContext ctx, HybridCache cache) : IAcademicService
 4{
 5    public async Task<OneOf<EnrollmentPeriodOut, SykiError>> Update(Guid institutionId, string id, UpdateEnrollmentPerio
 6    {
 1027        if (await ctx.AcademicPeriodNotFound(id)) return AcademicPeriodNotFound.I;
 8
 989        var period = await ctx.EnrollmentPeriods.FirstOrDefaultAsync(x => x.InstitutionId == institutionId && x.Id == id
 10010        if (period == null) return new EnrollmentPeriodNotFound();
 11
 9612        var result = period.Update(data.StartAt, data.EndAt);
 13
 10014        if (result.IsError) return result.Error;
 15
 9216        await ctx.SaveChangesAsync();
 17
 9218        await cache.RemoveAsync($"enrollmentPeriods:{institutionId}");
 19
 9220        return period.ToOut();
 10021    }
 22}