]> git.mxchange.org Git - friendica.git/commitdiff
Reenable Twitter/Statuses tests
authorPhilipp <admin@philipp.info>
Thu, 9 Dec 2021 20:17:00 +0000 (21:17 +0100)
committerPhilipp <admin@philipp.info>
Thu, 9 Dec 2021 20:17:00 +0000 (21:17 +0100)
src/Module/Api/Twitter/Statuses/Show.php
tests/src/Module/Api/Twitter/Statuses/ShowTest.php

index 66939bf7acc7d07524c4bdcb0f0ae25e5c298ec8..905c220f6d6ad5079fdb496c67f4b8bafe834d13 100644 (file)
@@ -42,14 +42,14 @@ class Show extends BaseApi
                $uid = BaseApi::getCurrentUserID();
 
                if (empty($this->parameters['id'])) {
-                       $id = intval($_REQUEST['id'] ?? 0);
+                       $id = intval($request['id'] ?? 0);
                } else {
                        $id = (int)$this->parameters['id'];
                }
 
                Logger::notice('API: api_statuses_show: ' . $id);
 
-               $conversation = !empty($_REQUEST['conversation']);
+               $conversation = !empty($request['conversation']);
 
                // try to fetch the item for the local user - or the public item, if there is no local one
                $uri_item = Post::selectFirst(['uri-id'], ['id' => $id]);
@@ -79,7 +79,7 @@ class Show extends BaseApi
                        throw new BadRequestException(sprintf("There is no status or conversation with the id %d.", $id));
                }
 
-               $include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
+               $include_entities = strtolower(($request['include_entities'] ?? 'false') == 'true');
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {
@@ -92,7 +92,7 @@ class Show extends BaseApi
                        $this->response->exit('statuses', $data, $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid));
                } else {
                        $data = ['status' => $ret[0]];
-                       $this->response->exit('status', ['status' => $data], $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid));
+                       $this->response->exit('status', $data, $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid));
                }
        }
 }
index 00fcbd5541b9ba43089a4e82d16bd21cfea719d7..c2d87a95f4acf8b0f95528284f2614082230188e 100644 (file)
@@ -2,6 +2,10 @@
 
 namespace Friendica\Test\src\Module\Api\Twitter\Statuses;
 
+use Friendica\App\Router;
+use Friendica\DI;
+use Friendica\Module\Api\Twitter\Statuses\Show;
+use Friendica\Network\HTTPException\BadRequestException;
 use Friendica\Test\src\Module\Api\ApiTest;
 
 class ShowTest extends ApiTest
@@ -13,8 +17,10 @@ class ShowTest extends ApiTest
         */
        public function testApiStatusesShow()
        {
-               // $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class);
-               // api_statuses_show('json');
+               $this->expectException(BadRequestException::class);
+
+               $show = new Show(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET]);
+               $show->run();
        }
 
        /**
@@ -24,9 +30,13 @@ class ShowTest extends ApiTest
         */
        public function testApiStatusesShowWithId()
        {
-               // DI::args()->setArgv(['', '', '', 1]);
-               // $result = api_statuses_show('json');
-               // self::assertStatus($result['status']);
+               $show = new Show(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET]);
+               $response = $show->run(['id' => 1]);
+
+               $json = $this->toJson($response);
+
+               self::assertIsInt($json->id);
+               self::assertIsString($json->text);
        }
 
        /**
@@ -36,15 +46,17 @@ class ShowTest extends ApiTest
         */
        public function testApiStatusesShowWithConversation()
        {
-               /*
-               DI::args()->setArgv(['', '', '', 1]);
-               $_REQUEST['conversation'] = 1;
-               $result                   = api_statuses_show('json');
-               self::assertNotEmpty($result['status']);
-               foreach ($result['status'] as $status) {
-                       self::assertStatus($status);
+               $show = new Show(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET]);
+               $response = $show->run(['id' => 1, 'conversation' => 1]);
+
+               $json = $this->toJson($response);
+
+               self::assertIsArray($json);
+
+               foreach ($json as $status) {
+                       self::assertIsInt($status->id);
+                       self::assertIsString($status->text);
                }
-               */
        }
 
        /**
@@ -54,6 +66,8 @@ class ShowTest extends ApiTest
         */
        public function testApiStatusesShowWithUnallowedUser()
        {
+               self::markTestIncomplete('Needs BasicAuth as dynamic method for overriding first');
+
                // $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class);
                // BasicAuth::setCurrentUserID();
                // api_statuses_show('json');