< Summary

Information
Class: Services.PartnerServices.PartnerDetailsDto
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/PartnerServices/PartnerDtos.cs
Line coverage
35%
Covered lines: 5
Uncovered lines: 9
Coverable lines: 14
Total lines: 71
Line coverage: 35.7%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_Id()100%11100%
get_Name()100%210%
get_Login()100%210%
get_Email()100%11100%
get_GoogleEmail()100%210%
get_IsActive()100%210%
get_CreatedAtUtc()100%210%
get_LastLoginAtUtc()100%210%
get_NotificationChannels()100%210%
get_NotificationEmail()100%210%
get_TelegramChatId()100%210%
get_Permissions()100%11100%
get_Rules()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/PartnerServices/PartnerDtos.cs

#LineLine coverage
 1using OzonDomains.Models.Partners;
 2
 3namespace Services.PartnerServices;
 4
 5public sealed record PartnerListItemDto(
 6    long Id,
 7    string Name,
 8    string Login,
 9    string? Email,
 10    string? GoogleEmail,
 11    bool IsActive,
 12    DateTime? LastLoginAtUtc,
 13    int RulesCount,
 14    IReadOnlyList<PartnerPermissionCode> Permissions);
 15
 4716public sealed record PartnerDetailsDto(
 3517    long Id,
 018    string Name,
 019    string Login,
 220    string? Email,
 021    string? GoogleEmail,
 022    bool IsActive,
 023    DateTime CreatedAtUtc,
 024    DateTime? LastLoginAtUtc,
 025    PartnerNotificationChannels NotificationChannels,
 026    string? NotificationEmail,
 027    string? TelegramChatId,
 128    IReadOnlyList<PartnerPermissionCode> Permissions,
 4929    IReadOnlyList<PartnerRuleDto> Rules);
 30
 31public sealed record PartnerRuleDto(
 32    long? Id,
 33    string Name,
 34    bool IsActive,
 35    IReadOnlyList<PartnerRuleConditionDto> Conditions);
 36
 37public sealed record PartnerRuleConditionDto(
 38    PartnerRuleField Field,
 39    IReadOnlyList<string> Values);
 40
 41public sealed record CreatePartnerRequest(
 42    string Name,
 43    string Email,
 44    string? GoogleEmail);
 45
 46public sealed record UpdatePartnerRequest(
 47    string Name,
 48    string? Email,
 49    string? GoogleEmail,
 50    bool IsActive,
 51    PartnerNotificationChannels NotificationChannels,
 52    string? NotificationEmail,
 53    string? TelegramChatId);
 54
 55/// <summary>Результат операции управления: либо значение, либо понятная ошибка для владельца.</summary>
 56public sealed record PartnerOpResult<T>(T? Value, string? Error)
 57{
 58    public bool Ok => Error is null;
 59
 60    public static PartnerOpResult<T> Success(T value) => new(value, null);
 61
 62    public static PartnerOpResult<T> Fail(string error) => new(default, error);
 63}
 64
 65public sealed record PartnerAuditQuery(
 66    long? PartnerId,
 67    string? Action,
 68    DateTime? FromUtc,
 69    DateTime? ToUtc,
 70    int Skip,
 71    int Take);