< Summary

Information
Class: TeleFlow.Telegram.Internal.CallbackQueryMessageTargetResolver
Assembly: TeleFlow.Framework
File(s): /_/src/TeleFlow.Framework/Internal/CallbackQueryMessageTargetResolver.cs
Line coverage
57%
Covered lines: 12
Uncovered lines: 9
Coverable lines: 21
Total lines: 41
Line coverage: 57.1%
Branch coverage
50%
Covered branches: 6
Total branches: 12
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
TryResolve(...)50%231257.14%

File(s)

/_/src/TeleFlow.Framework/Internal/CallbackQueryMessageTargetResolver.cs

#LineLine coverage
 1using TeleFlow.Telegram.Schema.Types;
 2
 3namespace TeleFlow.Telegram.Internal;
 4
 5internal static class CallbackQueryMessageTargetResolver
 6{
 7    public static bool TryResolve(CallbackQuery callbackQuery, out TelegramMessageTarget target)
 8    {
 99        ArgumentNullException.ThrowIfNull(callbackQuery);
 10
 911        var message = callbackQuery.Message;
 912        if (message is null)
 13        {
 314            target = default;
 315            return false;
 16        }
 17
 618        if (message.TryGetMessage(out var accessibleMessage) && accessibleMessage is not null)
 19        {
 620            target = new TelegramMessageTarget(
 621                accessibleMessage.Chat,
 622                accessibleMessage.MessageId,
 623                accessibleMessage.EphemeralMessageId,
 624                accessibleMessage.ReceiverUser?.Id);
 625            return true;
 26        }
 27
 028        if (message.TryGetInaccessibleMessage(out var inaccessibleMessage) && inaccessibleMessage is not null)
 29        {
 030            target = new TelegramMessageTarget(
 031                inaccessibleMessage.Chat,
 032                inaccessibleMessage.MessageId,
 033                EphemeralMessageId: null,
 034                ReceiverUserId: null);
 035            return true;
 36        }
 37
 038        target = default;
 039        return false;
 40    }
 41}