< Summary - Syki

Information
Class: Syki.Back.Hubs.SykiHub
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Hubs/SykiHub.cs
Tag: 4_16869239191
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 39
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 6
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
OnConnectedAsync()0%620%
OnDisconnectedAsync(...)0%2040%

File(s)

/home/runner/work/syki/syki/Back/Hubs/SykiHub.cs

#LineLine coverage
 1using Microsoft.AspNetCore.SignalR;
 2
 3namespace Syki.Back.Hubs;
 4
 5[AuthBearer]
 6public class SykiHub : Hub
 7{
 8    public override Task OnConnectedAsync()
 9    {
 010        var userId = Context.User.Id;
 11
 012        if (SykiHubUsersStore.Users.ContainsKey(userId))
 13        {
 014            SykiHubUsersStore.Users[userId].Add(Context.ConnectionId);
 15        }
 16        else
 17        {
 018            SykiHubUsersStore.Users.TryAdd(userId, [Context.ConnectionId]);
 19        }
 20
 021        return base.OnConnectedAsync();
 22    }
 23
 24    public override Task OnDisconnectedAsync(Exception? exception)
 25    {
 026        var userId = Context.User.Id;
 27
 028        if (SykiHubUsersStore.Users.ContainsKey(userId))
 29        {
 030            SykiHubUsersStore.Users[userId].Remove(Context.ConnectionId);
 031            if (SykiHubUsersStore.Users[userId].Count == 0)
 32            {
 033                SykiHubUsersStore.Users.Remove(userId, out _);
 34            }
 35        }
 36
 037        return base.OnDisconnectedAsync(exception);
 38    }
 39}