]> git.mxchange.org Git - friendica.git/commitdiff
Move DirectMessages/New tests
authorPhilipp <admin@philipp.info>
Thu, 30 Dec 2021 18:46:13 +0000 (19:46 +0100)
committerPhilipp <admin@philipp.info>
Thu, 30 Dec 2021 18:46:13 +0000 (19:46 +0100)
tests/legacy/ApiTest.php
tests/src/Module/Api/Twitter/DirectMessages/NewDMTest.php [new file with mode: 0644]

index 53c9cc6e14330801f647bf8f478a0b1e0c71d717..808fa92fbd7c389742f2e6f36f97c8d1f4a4393a 100644 (file)
@@ -1190,101 +1190,6 @@ class ApiTest extends FixtureTest
        }
 
 
-       /**
-        * Test the api_direct_messages_new() function.
-        *
-        * @return void
-        */
-       public function testApiDirectMessagesNew()
-       {
-               //$result = api_direct_messages_new('json');
-               //self::assertNull($result);
-       }
-
-       /**
-        * Test the api_direct_messages_new() function without an authenticated user.
-        *
-        * @return void
-        */
-       public function testApiDirectMessagesNewWithoutAuthenticatedUser()
-       {
-               /*
-               $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class);
-               BasicAuth::setCurrentUserID();
-               $_SESSION['authenticated'] = false;
-               api_direct_messages_new('json');
-               */
-       }
-
-       /**
-        * Test the api_direct_messages_new() function with an user ID.
-        *
-        * @return void
-        */
-       public function testApiDirectMessagesNewWithUserId()
-       {
-               /*
-               $_POST['text']       = 'message_text';
-               $_REQUEST['user_id'] = $this->otherUser['id'];
-               $result           = api_direct_messages_new('json');
-               self::assertEquals(['direct_message' => ['error' => -1]], $result);
-               */
-       }
-
-       /**
-        * Test the api_direct_messages_new() function with a screen name.
-        *
-        * @return void
-        */
-       public function testApiDirectMessagesNewWithScreenName()
-       {
-               /*
-               $this->app->setLoggedInUserNickname($this->selfUser['nick']);
-               $_POST['text']       = 'message_text';
-               $_REQUEST['user_id'] = $this->friendUser['id'];
-               $result              = api_direct_messages_new('json');
-               self::assertStringContainsString('message_text', $result['direct_message']['text']);
-               self::assertEquals('selfcontact', $result['direct_message']['sender_screen_name']);
-               self::assertEquals(1, $result['direct_message']['friendica_seen']);
-               */
-       }
-
-       /**
-        * Test the api_direct_messages_new() function with a title.
-        *
-        * @return void
-        */
-       public function testApiDirectMessagesNewWithTitle()
-       {
-               /*
-               $this->app->setLoggedInUserNickname($this->selfUser['nick']);
-               $_POST['text']        = 'message_text';
-               $_REQUEST['user_id']  = $this->friendUser['id'];
-               $_REQUEST['title']    = 'message_title';
-               $result            = api_direct_messages_new('json');
-               self::assertStringContainsString('message_text', $result['direct_message']['text']);
-               self::assertStringContainsString('message_title', $result['direct_message']['text']);
-               self::assertEquals('selfcontact', $result['direct_message']['sender_screen_name']);
-               self::assertEquals(1, $result['direct_message']['friendica_seen']);
-               */
-       }
-
-       /**
-        * Test the api_direct_messages_new() function with an RSS result.
-        *
-        * @return void
-        */
-       public function testApiDirectMessagesNewWithRss()
-       {
-               /*
-               $this->app->setLoggedInUserNickname($this->selfUser['nick']);
-               $_POST['text']       = 'message_text';
-               $_REQUEST['user_id'] = $this->friendUser['id'];
-               $result              = api_direct_messages_new('rss');
-               self::assertXml($result, 'direct-messages');
-               */
-       }
-
        /**
         * Test the api_direct_messages_destroy() function.
         *
diff --git a/tests/src/Module/Api/Twitter/DirectMessages/NewDMTest.php b/tests/src/Module/Api/Twitter/DirectMessages/NewDMTest.php
new file mode 100644 (file)
index 0000000..d9bcc87
--- /dev/null
@@ -0,0 +1,135 @@
+<?php
+
+namespace Friendica\Test\src\Module\Api\Twitter\DirectMessages;
+
+use Friendica\App\Router;
+use Friendica\DI;
+use Friendica\Factory\Api\Twitter\DirectMessage;
+use Friendica\Module\Api\Twitter\DirectMessages\NewDM;
+use Friendica\Test\src\Module\Api\ApiTest;
+
+class NewDMTest extends ApiTest
+{
+       /**
+        * Test the api_direct_messages_new() function.
+        *
+        * @return void
+        */
+       public function testApiDirectMessagesNew()
+       {
+               $directMessage = new DirectMessage(DI::logger(), DI::dba(), DI::twitterUser());
+
+               $newDm    = new NewDM($directMessage, DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
+               $response = $newDm->run();
+
+               self::assertEmpty((string)$response->getBody());
+       }
+
+       /**
+        * Test the api_direct_messages_new() function without an authenticated user.
+        *
+        * @return void
+        */
+       public function testApiDirectMessagesNewWithoutAuthenticatedUser()
+       {
+               self::markTestIncomplete('Needs BasicAuth as dynamic method for overriding first');
+
+               /*
+               $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class);
+               BasicAuth::setCurrentUserID();
+               $_SESSION['authenticated'] = false;
+               api_direct_messages_new('json');
+               */
+       }
+
+       /**
+        * Test the api_direct_messages_new() function with an user ID.
+        *
+        * @return void
+        */
+       public function testApiDirectMessagesNewWithUserId()
+       {
+               $directMessage = new DirectMessage(DI::logger(), DI::dba(), DI::twitterUser());
+
+               $newDm    = new NewDM($directMessage, DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
+               $response = $newDm->run([
+                       'text'    => 'message_text',
+                       'user_id' => 43
+               ]);
+
+               $json = $this->toJson($response);
+
+               self::assertEquals(-1, $json->error);
+       }
+
+       /**
+        * Test the api_direct_messages_new() function with a screen name.
+        *
+        * @return void
+        */
+       public function testApiDirectMessagesNewWithScreenName()
+       {
+               DI::app()->setLoggedInUserNickname('selfcontact');
+
+               $directMessage = new DirectMessage(DI::logger(), DI::dba(), DI::twitterUser());
+
+               $newDm    = new NewDM($directMessage, DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
+               $response = $newDm->run([
+                       'text'    => 'message_text',
+                       'user_id' => 44
+               ]);
+
+               $json = $this->toJson($response);
+
+               self::assertStringContainsString('message_text', $json->text);
+               self::assertEquals('selfcontact', $json->sender_screen_name);
+               self::assertEquals(1, $json->friendica_seen);
+       }
+
+       /**
+        * Test the api_direct_messages_new() function with a title.
+        *
+        * @return void
+        */
+       public function testApiDirectMessagesNewWithTitle()
+       {
+               DI::app()->setLoggedInUserNickname('selfcontact');
+
+               $directMessage = new DirectMessage(DI::logger(), DI::dba(), DI::twitterUser());
+
+               $newDm    = new NewDM($directMessage, DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
+               $response = $newDm->run([
+                       'text'    => 'message_text',
+                       'user_id' => 44,
+                       'title'   => 'message_title',
+               ]);
+
+               $json = $this->toJson($response);
+
+               self::assertStringContainsString('message_text', $json->text);
+               self::assertStringContainsString('message_title', $json->text);
+               self::assertEquals('selfcontact', $json->sender_screen_name);
+               self::assertEquals(1, $json->friendica_seen);
+       }
+
+       /**
+        * Test the api_direct_messages_new() function with an RSS result.
+        *
+        * @return void
+        */
+       public function testApiDirectMessagesNewWithRss()
+       {
+               DI::app()->setLoggedInUserNickname('selfcontact');
+
+               $directMessage = new DirectMessage(DI::logger(), DI::dba(), DI::twitterUser());
+
+               $newDm    = new NewDM($directMessage, DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'rss']);
+               $response = $newDm->run([
+                       'text'    => 'message_text',
+                       'user_id' => 44,
+                       'title'   => 'message_title',
+               ]);
+
+               self::assertXml((string)$response->getBody(), 'direct-messages');
+       }
+}