< Summary

Information
Class: Server.Data.UsersRepository
Assembly: Server
File(s): /home/runner/work/NGql/NGql/src/Server/Data/UsersRepository.cs
Line coverage
100%
Covered lines: 32
Uncovered lines: 0
Coverable lines: 32
Total lines: 63
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
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%
GetUser(...)100%22100%
Server.Data.IUsersRepository.GetUsers(...)100%22100%
CreateUser(...)100%11100%

File(s)

/home/runner/work/NGql/NGql/src/Server/Data/UsersRepository.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4using System.Threading.Tasks;
 5using Server.Data.Entities;
 6
 7namespace Server.Data;
 8
 9public class UsersRepository : IUsersRepository
 10{
 611    private readonly string[] _users = {
 612        "Anne Ware",
 613        "Beverly Montgomery",
 614        "Chanda Gomez",
 615        "Clinton Wood",
 616        "Dawn English",
 617        "Dean David",
 618        "Ezra Boone",
 619        "Gisela Little",
 620        "Ila Santana",
 621        "Joseph Kim",
 622        "Laurel Gardner",
 623        "Lois Smith",
 624        "Maya Klein",
 625        "Quynn West",
 626        "Rowan Aguilar",
 627        "Walter Parrish",
 628        "Winter Bryant",
 629        "Winter Mccray",
 630        "Yoshi Lambert"
 631    };
 32
 33    private readonly Dictionary<string, User> _store;
 34
 635    public UsersRepository()
 23436        => _store = _users.ToDictionary(x => x, x => new User { Name = x });
 37
 38    public Task<User?> GetUser(string name)
 39    {
 3040        if (_store.TryGetValue(name, out var user))
 2441            return Task.FromResult<User?>(user);
 42
 643        return Task.FromResult<User?>(null);
 44    }
 45
 46    Task<IEnumerable<User>> IUsersRepository.GetUsers(string? name)
 47    {
 1248        var users = _store.Values.AsEnumerable();
 49
 1250        if (!string.IsNullOrWhiteSpace(name))
 51        {
 12652            users = users.Where(x => x.Name.Contains(name, StringComparison.OrdinalIgnoreCase));
 53        }
 54
 1255        return Task.FromResult(users);
 56    }
 57
 58    public Task<User> CreateUser(User user)
 59    {
 660        _store[user.Name] = user;
 661        return Task.FromResult(user);
 62    }
 63}