< Summary - Syki

Information
Class: Syki.Back.Extensions.UserManagerExtensions
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Extensions/UserManagerExtensions.cs
Tag: 4_16869239191
Line coverage
84%
Covered lines: 11
Uncovered lines: 2
Coverable lines: 13
Total lines: 26
Line coverage: 84.6%
Branch coverage
46%
Covered branches: 6
Total branches: 13
Branch coverage: 46.1%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
IsOnlyInRoleAsync()46.15%141384.61%

File(s)

/home/runner/work/syki/syki/Back/Extensions/UserManagerExtensions.cs

#LineLine coverage
 1using Syki.Back.Features.Cross.CreateUser;
 2
 3namespace Syki.Back.Extensions;
 4
 5public static class UserManagerExtensions
 6{
 7    extension(UserManager<SykiUser> userManager)
 8    {
 9        public async Task<bool> IsOnlyInRoleAsync(SykiUser user, UserRole role)
 10        {
 811            var adm = await userManager.IsInRoleAsync(user!, UserRole.Adm.ToString());
 812            var student = await userManager.IsInRoleAsync(user!, UserRole.Student.ToString());
 813            var teacher = await userManager.IsInRoleAsync(user!, UserRole.Teacher.ToString());
 814            var academic = await userManager.IsInRoleAsync(user!, UserRole.Academic.ToString());
 15
 816            return role switch
 817            {
 418                UserRole.Academic => academic && !(adm || student || teacher),
 219                UserRole.Student => student && !(adm || academic || teacher),
 220                UserRole.Teacher => teacher && !(adm || student || academic),
 021                UserRole.Adm => adm && !(student || teacher || academic),
 022                _ => false
 823            };
 824        }
 25    }
 26}

Methods/Properties

IsOnlyInRoleAsync()