. * */ namespace Friendica\Test\src\Module\Api\Twitter\Favorites; use Friendica\App\Router; use Friendica\Capabilities\ICanCreateResponses; use Friendica\DI; use Friendica\Module\Api\Twitter\Favorites\Create; use Friendica\Network\HTTPException\BadRequestException; use Friendica\Test\src\Module\Api\ApiTest; class CreateTest extends ApiTest { protected function setUp(): void { parent::setUp(); $this->useHttpMethod(Router::POST); } /** * Test the api_favorites_create_destroy() function with an invalid ID. * * @return void */ public function testApiFavoritesCreateDestroyWithInvalidId() { $this->expectException(BadRequestException::class); (new Create(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [])) ->run(); } /** * Test the api_favorites_create_destroy() function with the create action. * * @return void */ public function testApiFavoritesCreateDestroyWithCreateAction() { $response = (new Create(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [])) ->run([ 'id' => 3 ]); $json = $this->toJson($response); self::assertStatus($json); } /** * Test the api_favorites_create_destroy() function with the create action and an RSS result. * * @return void */ public function testApiFavoritesCreateDestroyWithCreateActionAndRss() { $response = (new Create(DI::app(), DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), DI::apiResponse(), [], ['extension' => ICanCreateResponses::TYPE_RSS])) ->run([ 'id' => 3 ]); self::assertEquals(ICanCreateResponses::TYPE_RSS, $response->getHeaderLine(ICanCreateResponses::X_HEADER)); self::assertXml((string)$response->getBody(), 'statuses'); } /** * Test the api_favorites_create_destroy() function without an authenticated user. * * @return void */ public function testApiFavoritesCreateDestroyWithoutAuthenticatedUser() { self::markTestIncomplete('Needs refactoring of Lists - replace filter_input() with $request parameter checks'); /* $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class); DI::args()->setArgv(['api', '1.1', 'favorites', 'create.json']); BasicAuth::setCurrentUserID(); $_SESSION['authenticated'] = false; api_favorites_create_destroy('json'); */ } }