// self::assertArrayHasKey('user', $result);
}
-
- /**
- * Test the api_direct_messages_destroy() function.
- *
- * @return void
- */
- public function testApiDirectMessagesDestroy()
- {
- //$this->expectException(\Friendica\Network\HTTPException\BadRequestException::class);
- //api_direct_messages_destroy('json');
- }
-
- /**
- * Test the api_direct_messages_destroy() function with the friendica_verbose GET param.
- *
- * @return void
- */
- public function testApiDirectMessagesDestroyWithVerbose()
- {
- /*
- $_GET['friendica_verbose'] = 'true';
- $result = api_direct_messages_destroy('json');
- self::assertEquals(
- [
- '$result' => [
- 'result' => 'error',
- 'message' => 'message id or parenturi not specified'
- ]
- ],
- $result
- );
- */
- }
-
- /**
- * Test the api_direct_messages_destroy() function without an authenticated user.
- *
- * @return void
- */
- public function testApiDirectMessagesDestroyWithoutAuthenticatedUser()
- {
- /*
- $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class);
- BasicAuth::setCurrentUserID();
- $_SESSION['authenticated'] = false;
- api_direct_messages_destroy('json');
- */
- }
-
- /**
- * Test the api_direct_messages_destroy() function with a non-zero ID.
- *
- * @return void
- */
- public function testApiDirectMessagesDestroyWithId()
- {
- /*
- $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class);
- $_REQUEST['id'] = 1;
- api_direct_messages_destroy('json');
- */
- }
-
- /**
- * Test the api_direct_messages_destroy() with a non-zero ID and the friendica_verbose GET param.
- *
- * @return void
- */
- public function testApiDirectMessagesDestroyWithIdAndVerbose()
- {
- /*
- $_REQUEST['id'] = 1;
- $_REQUEST['friendica_parenturi'] = 'parent_uri';
- $_GET['friendica_verbose'] = 'true';
- $result = api_direct_messages_destroy('json');
- self::assertEquals(
- [
- '$result' => [
- 'result' => 'error',
- 'message' => 'message id not in database'
- ]
- ],
- $result
- );
- */
- }
-
- /**
- * Test the api_direct_messages_destroy() function with a non-zero ID.
- *
- * @return void
- */
- public function testApiDirectMessagesDestroyWithCorrectId()
- {
- $this->markTestIncomplete('We need to add a dataset for this.');
- }
-
/**
* Test the api_direct_messages_box() function.
*
--- /dev/null
+<?php
+
+namespace Friendica\Test\src\Module\Api\Twitter\DirectMessages;
+
+use Friendica\App\Router;
+use Friendica\Database\DBA;
+use Friendica\DI;
+use Friendica\Module\Api\Twitter\DirectMessages\Destroy;
+use Friendica\Test\src\Module\Api\ApiTest;
+
+class DestroyTest extends ApiTest
+{
+ /**
+ * Test the api_direct_messages_destroy() function.
+ *
+ * @return void
+ */
+ public function testApiDirectMessagesDestroy()
+ {
+ $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class);
+ (new Destroy(DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']))->run();
+ }
+
+ /**
+ * Test the api_direct_messages_destroy() function with the friendica_verbose GET param.
+ *
+ * @return void
+ */
+ public function testApiDirectMessagesDestroyWithVerbose()
+ {
+ $destroy = new Destroy(DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
+ $response = $destroy->run([
+ 'friendica_verbose' => true,
+ ]);
+
+ $json = $this->toJson($response);
+
+ self::assertEquals('error', $json->result);
+ self::assertEquals('message id or parenturi not specified', $json->message);
+ }
+
+ /**
+ * Test the api_direct_messages_destroy() function without an authenticated user.
+ *
+ * @return void
+ */
+ public function testApiDirectMessagesDestroyWithoutAuthenticatedUser()
+ {
+ 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_destroy('json');
+ */
+ }
+
+ /**
+ * Test the api_direct_messages_destroy() function with a non-zero ID.
+ *
+ * @return void
+ */
+ public function testApiDirectMessagesDestroyWithId()
+ {
+ $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class);
+ (new Destroy(DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']))->run(['id' => 1]);
+ }
+
+ /**
+ * Test the api_direct_messages_destroy() with a non-zero ID and the friendica_verbose GET param.
+ *
+ * @return void
+ */
+ public function testApiDirectMessagesDestroyWithIdAndVerbose()
+ {
+ $destroy = new Destroy(DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
+ $response = $destroy->run([
+ 'id' => 1,
+ 'friendica_parenturi' => 'parent_uri',
+ 'friendica_verbose' => true,
+ ]);
+
+ $json = $this->toJson($response);
+
+ self::assertEquals('error', $json->result);
+ self::assertEquals('message id not in database', $json->message);
+ }
+
+ /**
+ * Test the api_direct_messages_destroy() function with a non-zero ID.
+ *
+ * @return void
+ */
+ public function testApiDirectMessagesDestroyWithCorrectId()
+ {
+ $this->loadFixture(__DIR__ . '/../../../../../datasets/mail/mail.fixture.php', DI::dba());
+ $ids = DBA::selectToArray('mail', ['id']);
+ $id = $ids[0]['id'];
+
+ $destroy = new Destroy(DI::dba(), DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), ['REQUEST_METHOD' => Router::GET], ['extension' => 'json']);
+ $response = $destroy->run([
+ 'id' => $id,
+ 'friendica_verbose' => true,
+ ]);
+
+ $json = $this->toJson($response);
+
+ self::assertEquals('ok', $json->result);
+ self::assertEquals('message deleted', $json->message);
+ }
+}