Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ef5220d

Browse filesBrowse files
committed
Add fake method to allow easy testing
1 parent 4c7f7cd commit ef5220d
Copy full SHA for ef5220d

File tree

1 file changed

+14
-130
lines changed
Filter options

1 file changed

+14
-130
lines changed

‎src/Facades/Telegram.php

Copy file name to clipboardExpand all lines: src/Facades/Telegram.php
+14-130
Original file line numberDiff line numberDiff line change
@@ -2,145 +2,29 @@
22

33
namespace Telegram\Bot\Laravel\Facades;
44

5+
use Telegram\Bot\Testing\BotFake;
56
use Illuminate\Support\Facades\Facade;
67
use Telegram\Bot\BotManager;
78

89
/**
910
* @see \Telegram\Bot\BotManager
10-
*
11-
* @method static array getBots()
12-
* @method static null|string getDefaultBotName()
13-
* @method static \Telegram\Bot\BotManager setDefaultBotName(string $name)
14-
* @method static \Telegram\Bot\Bot bot(?string $name = null)
15-
* @method static \Telegram\Bot\Bot reconnect(?string $name = null)
16-
* @method static \Telegram\Bot\BotManager disconnect(?string $name = null)
17-
* @method static array getBotConfig(?string $name = null)
18-
* @method static bool hasContainer()
19-
* @method static \Illuminate\Contracts\Container\Container getContainer()
20-
* @method static \Telegram\Bot\BotManager setContainer(\Illuminate\Contracts\Container\Container $container)
21-
* @method static bool hasConfig($key)
22-
* @method static void config(array|string|?null $key = null, $default = null)
23-
* @method static array getConfig()
24-
* @method static \Telegram\Bot\BotManager setConfig(array $config)
25-
*
11+
* @see \Telegram\Bot\Bot
2612
* @see \Telegram\Bot\Api
27-
*
28-
* @method static array isLoginAuthDataValid(array $auth_data)
29-
* @method static void macro($name, $macro)
30-
* @method static void mixin($mixin, $replace = true)
31-
* @method static void hasMacro($name)
32-
* @method static void flushMacros()
33-
* @method static void macroCall($method, $parameters)
34-
* @method static \Telegram\Bot\Http\TelegramClient getClient()
35-
* @method static array getHttpClientConfig()
36-
* @method static \Telegram\Bot\Api setHttpClientConfig(array $config)
37-
* @method static string downloadFile(\Telegram\Bot\Objects\File|\Telegram\Bot\Objects\AbstractResponseObject|string $file, string $filename)
38-
* @method static bool hasToken()
39-
* @method static string getToken()
40-
* @method static \Telegram\Bot\Api setToken(string $token)
41-
* @method static bool banChatMember(array $params)
42-
* @method static string exportChatInviteLink(array $params)
43-
* @method static \Telegram\Bot\Objects\ChatInviteLink createChatInviteLink(array $params)
44-
* @method static \Telegram\Bot\Objects\ChatInviteLink editChatInviteLink(array $params)
45-
* @method static \Telegram\Bot\Objects\ChatInviteLink revokeChatInviteLink(array $params)
46-
* @method static bool approveChatJoinRequest(array $params)
47-
* @method static bool declineChatJoinRequest(array $params)
48-
* @method static bool setChatPhoto(array $params)
49-
* @method static bool deleteChatPhoto(array $params)
50-
* @method static bool setChatTitle(array $params)
51-
* @method static bool setChatDescription(array $params)
52-
* @method static bool pinChatMessage(array $params)
53-
* @method static bool unpinChatMessage(array $params)
54-
* @method static bool unpinAllChatMessages(array $params)
55-
* @method static bool leaveChat(array $params)
56-
* @method static bool unbanChatMember(array $params)
57-
* @method static bool restrictChatMember(array $params)
58-
* @method static bool promoteChatMember(array $params)
59-
* @method static bool setChatAdministratorCustomTitle(array $params)
60-
* @method static bool banChatSenderChat(array $params)
61-
* @method static bool unbanChatSenderChat(array $params)
62-
* @method static bool setChatPermissions(array $params)
63-
* @method static \Telegram\Bot\Objects\Chat getChat(array $params)
64-
* @method static array getChatAdministrators(array $params)
65-
* @method static int getChatMemberCount(array $params)
66-
* @method static \Telegram\Bot\Objects\ChatMember getChatMember(array $params)
67-
* @method static bool setChatStickerSet(array $params)
68-
* @method static bool deleteChatStickerSet(array $params)
69-
* @method static bool setMyCommands(array $params)
70-
* @method static bool deleteMyCommands(array $params = [])
71-
* @method static array getMyCommands(array $params = [])
72-
* @method static \Telegram\Bot\Objects\Updates\Message|bool editMessageText(array $params)
73-
* @method static \Telegram\Bot\Objects\Updates\Message|bool editMessageCaption(array $params)
74-
* @method static \Telegram\Bot\Objects\Updates\Message|bool editMessageMedia(array $params)
75-
* @method static \Telegram\Bot\Objects\Updates\Message|bool editMessageReplyMarkup(array $params)
76-
* @method static \Telegram\Bot\Objects\Updates\Poll stopPoll(array $params)
77-
* @method static bool deleteMessage(array $params)
78-
* @method static \Telegram\Bot\Objects\Updates\Message sendGame(array $params)
79-
* @method static \Telegram\Bot\Objects\Updates\Message setGameScore(array $params)
80-
* @method static array getGameHighScores(array $params)
81-
* @method static \Telegram\Bot\Objects\User getMe()
82-
* @method static \Telegram\Bot\Objects\UserProfilePhotos getUserProfilePhotos(array $params)
83-
* @method static \Telegram\Bot\Objects\File getFile(array $params)
84-
* @method static \Telegram\Bot\Objects\Updates\Message sendLocation(array $params)
85-
* @method static \Telegram\Bot\Objects\Updates\Message|bool editMessageLiveLocation(array $params)
86-
* @method static \Telegram\Bot\Objects\Updates\Message|bool stopMessageLiveLocation(array $params)
87-
* @method static \Telegram\Bot\Objects\Updates\Message sendMessage(array $params)
88-
* @method static \Telegram\Bot\Objects\Updates\Message forwardMessage(array $params)
89-
* @method static int copyMessage(array $params)
90-
* @method static \Telegram\Bot\Objects\Updates\Message sendPhoto(array $params)
91-
* @method static \Telegram\Bot\Objects\Updates\Message sendAudio(array $params)
92-
* @method static \Telegram\Bot\Objects\Updates\Message sendDocument(array $params)
93-
* @method static \Telegram\Bot\Objects\Updates\Message sendVideo(array $params)
94-
* @method static \Telegram\Bot\Objects\Updates\Message sendAnimation(array $params)
95-
* @method static \Telegram\Bot\Objects\Updates\Message sendVoice(array $params)
96-
* @method static \Telegram\Bot\Objects\Updates\Message sendVideoNote(array $params)
97-
* @method static array sendMediaGroup(array $params)
98-
* @method static \Telegram\Bot\Objects\Updates\Message sendVenue(array $params)
99-
* @method static \Telegram\Bot\Objects\Updates\Message sendContact(array $params)
100-
* @method static \Telegram\Bot\Objects\Updates\Message sendPoll(array $params)
101-
* @method static \Telegram\Bot\Objects\Updates\Message sendDice(array $params)
102-
* @method static bool sendChatAction(array $params)
103-
* @method static bool setPassportDataErrors(array $params)
104-
* @method static \Telegram\Bot\Objects\Updates\Message sendInvoice(array $params)
105-
* @method static bool answerShippingQuery(array $params)
106-
* @method static bool answerPreCheckoutQuery(array $params)
107-
* @method static bool answerCallbackQuery(array $params)
108-
* @method static bool answerInlineQuery(array $params)
109-
* @method static \Telegram\Bot\Objects\Updates\Message sendSticker(array $params)
110-
* @method static \Telegram\Bot\Objects\StickerSet getStickerSet(array $params)
111-
* @method static \Telegram\Bot\Objects\File uploadStickerFile(array $params)
112-
* @method static bool createNewStickerSet(array $params)
113-
* @method static bool addStickerToSet(array $params)
114-
* @method static bool setStickerPositionInSet(array $params)
115-
* @method static bool deleteStickerFromSet(array $params)
116-
* @method static bool setStickerSetThumb(array $params)
117-
* @method static array getUpdates(array $params = [])
118-
* @method static array confirmUpdate(int $highestId)
119-
* @method static bool setWebhook(array $params)
120-
* @method static bool deleteWebhook()
121-
* @method static \Telegram\Bot\Objects\WebhookInfo getWebhookInfo()
122-
* @method static \Telegram\Bot\Objects\Update getWebhookUpdate()
123-
* @method static bool removeWebhook()
124-
* @method static bool logOut()
125-
* @method static bool close()
126-
*
127-
* @see \Telegram\Bot\Commands\CommandBus
128-
*
129-
* @method static array getCommands()
130-
* @method static \Telegram\Bot\Commands\CommandBus addCommands(array|string $commands)
131-
* @method static \Telegram\Bot\Commands\CommandBus addCommand(string $command, \Telegram\Bot\Commands\CommandInterface|string $commandClass)
132-
* @method static \Telegram\Bot\Commands\CommandBus removeCommand(string $name)
133-
* @method static \Telegram\Bot\Commands\CommandBus removeCommands(array $names)
134-
* @method static string parseCommand(string $text, int $offset, int $length)
135-
* @method static \Telegram\Bot\Objects\Update handler(\Telegram\Bot\Objects\Update $update)
136-
* @method static void execute(\Telegram\Bot\Commands\CommandInterface|string $commandName, \Telegram\Bot\Objects\Update $update, \Telegram\Bot\Objects\MessageEntity|array $entity, bool $isTriggered = false)
137-
* @method static \Telegram\Bot\Commands\CommandInterface resolveCommand($command)
138-
* @method static bool hasBot()
139-
* @method static null|\Telegram\Bot\Bot getBot()
140-
* @method static \Telegram\Bot\Commands\CommandBus setBot(\Telegram\Bot\Bot $bot)
14113
*/
14214
class Telegram extends Facade
14315
{
16+
/**
17+
* Replace the bound instance with a fake.
18+
*
19+
* @param array $responses
20+
*
21+
* @return BotFake
22+
*/
23+
public static function fake(array $responses = []): BotFake
24+
{
25+
return tap(new BotFake($responses), static fn ($fake) => static::swap($fake));
26+
}
27+
14428
/**
14529
* Get the registered name of the component.
14630
*/

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.