From 1e875487cf9e53b05392250edd55fc8b0b1a01b4 Mon Sep 17 00:00:00 2001 From: iboldurev Date: Tue, 5 Jun 2018 19:19:20 +0300 Subject: [PATCH 1/3] fix get chat parameters on callback_query --- src/TelegramDriver.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/TelegramDriver.php b/src/TelegramDriver.php index 91ba454..a314d7d 100644 --- a/src/TelegramDriver.php +++ b/src/TelegramDriver.php @@ -62,7 +62,11 @@ public function verifyRequest(): void */ public function getChat(): Chat { - $chat = $this->request->getParameter('message.chat'); + if ($this->request->hasParameters('callback_query')) { + $chat = $this->request->getParameter('callback_query.message.chat'); + } else { + $chat = $this->request->getParameter('message.chat'); + } return new Chat( (string) $chat['id'], From c529038e991eb6c1ec4d7b9604472946f8e441e1 Mon Sep 17 00:00:00 2001 From: iboldurev Date: Tue, 5 Jun 2018 21:30:03 +0300 Subject: [PATCH 2/3] Added get chat test --- tests/Unit/TelegramDriverTest.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/Unit/TelegramDriverTest.php b/tests/Unit/TelegramDriverTest.php index 7aad86c..8da4036 100644 --- a/tests/Unit/TelegramDriverTest.php +++ b/tests/Unit/TelegramDriverTest.php @@ -4,6 +4,7 @@ namespace Tests\Unit; +use FondBot\Drivers\Chat; use Tests\TestCase; use GuzzleHttp\Client; use FondBot\Helpers\Str; @@ -85,6 +86,28 @@ public function test_getSender(): void $this->assertSame($response['username'], $sender->getUsername()); } + public function test_getChat(): void + { + $this->driver->fill( + $this->parameters, + new Request([ + 'message' => [ + 'chat' => $response = [ + 'id' => Str::random(), + 'title' => $this->faker()->name, + 'type' => Chat::TYPE_PRIVATE + ], + ], + ], []) + ); + + $chat = $this->driver->getChat(); + $this->assertInstanceOf(Chat::class, $chat); + $this->assertSame($response['id'], $chat->getId()); + $this->assertSame($response['title'], $chat->getTitle()); + $this->assertSame($response['type'], $chat->getType()); + } + public function test_getMessage(): void { $this->driver->fill( From c40954e0c9b95104a1f11461bc3b3da0aed0a112 Mon Sep 17 00:00:00 2001 From: iboldurev Date: Tue, 5 Jun 2018 22:44:41 +0300 Subject: [PATCH 3/3] Fix code style --- tests/Unit/TelegramDriverTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Unit/TelegramDriverTest.php b/tests/Unit/TelegramDriverTest.php index 8da4036..5b824eb 100644 --- a/tests/Unit/TelegramDriverTest.php +++ b/tests/Unit/TelegramDriverTest.php @@ -4,10 +4,10 @@ namespace Tests\Unit; -use FondBot\Drivers\Chat; use Tests\TestCase; use GuzzleHttp\Client; use FondBot\Helpers\Str; +use FondBot\Drivers\Chat; use FondBot\Drivers\User; use FondBot\Http\Request; use FondBot\Templates\Location; @@ -95,7 +95,7 @@ public function test_getChat(): void 'chat' => $response = [ 'id' => Str::random(), 'title' => $this->faker()->name, - 'type' => Chat::TYPE_PRIVATE + 'type' => Chat::TYPE_PRIVATE, ], ], ], [])