< Summary - Syki

Information
Class: Syki.Shared.UserExtensions
Assembly: Shared
File(s): /home/runner/work/syki/syki/Shared/Extensions/UserExtensions.cs
Tag: 36_19195353031
Line coverage
80%
Covered lines: 4
Uncovered lines: 1
Coverable lines: 5
Total lines: 16
Line coverage: 80%
Branch coverage
45%
Covered branches: 11
Total branches: 24
Branch coverage: 45.8%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id(...)50%44100%
get_InstitutionId(...)50%44100%
get_CourseCurriculumId(...)50%44100%
get_IsAuthenticated(...)83.33%66100%
get_Features(...)0%4260%

File(s)

/home/runner/work/syki/syki/Shared/Extensions/UserExtensions.cs

#LineLine coverage
 1using Newtonsoft.Json;
 2using System.Security.Claims;
 3
 4namespace Syki.Shared;
 5
 6public static class UserExtensions
 7{
 8    extension(ClaimsPrincipal user)
 9    {
 1323610        public Guid Id => Guid.Parse(user.FindFirst(Claims.UserId)?.Value ?? Guid.Empty.ToString());
 2293411        public Guid InstitutionId => Guid.Parse(user.FindFirst(Claims.InstitutionId)?.Value ?? Guid.Empty.ToString());
 12012        public Guid CourseCurriculumId => Guid.Parse(user.FindFirst(Claims.CourseCurriculumId)?.Value ?? Guid.Empty.ToSt
 3045413        public bool IsAuthenticated => (user.Identity?.IsAuthenticated ?? false) && user.FindFirst(Claims.InstitutionId)
 014        public List<int> Features => JsonConvert.DeserializeObject<List<int>>(user.FindFirst(Claims.UserFeatures)?.Value
 15    }
 16}