3 namespace Friendica\Test\src\Module\Api\Mastodon;
5 use Friendica\Test\src\Module\Api\ApiTest;
7 class SearchTest extends ApiTest
10 * Test the api_search() function.
14 public function testApiSearch()
17 $_REQUEST['q'] = 'reply';
18 $_REQUEST['max_id'] = 10;
19 $result = api_search('json');
20 foreach ($result['status'] as $status) {
21 self::assertStatus($status);
22 self::assertStringContainsStringIgnoringCase('reply', $status['text'], '', true);
28 * Test the api_search() function a count parameter.
32 public function testApiSearchWithCount()
35 $_REQUEST['q'] = 'reply';
36 $_REQUEST['count'] = 20;
37 $result = api_search('json');
38 foreach ($result['status'] as $status) {
39 self::assertStatus($status);
40 self::assertStringContainsStringIgnoringCase('reply', $status['text'], '', true);
46 * Test the api_search() function with an rpp parameter.
50 public function testApiSearchWithRpp()
53 $_REQUEST['q'] = 'reply';
54 $_REQUEST['rpp'] = 20;
55 $result = api_search('json');
56 foreach ($result['status'] as $status) {
57 self::assertStatus($status);
58 self::assertStringContainsStringIgnoringCase('reply', $status['text'], '', true);
64 * Test the api_search() function with an q parameter contains hashtag.
65 * @doesNotPerformAssertions
67 public function testApiSearchWithHashtag()
70 $_REQUEST['q'] = '%23friendica';
71 $result = api_search('json');
72 foreach ($result['status'] as $status) {
73 self::assertStatus($status);
74 self::assertStringContainsStringIgnoringCase('#friendica', $status['text'], '', true);
80 * Test the api_search() function with an exclude_replies parameter.
81 * @doesNotPerformAssertions
83 public function testApiSearchWithExcludeReplies()
86 $_REQUEST['max_id'] = 10;
87 $_REQUEST['exclude_replies'] = true;
88 $_REQUEST['q'] = 'friendica';
89 $result = api_search('json');
90 foreach ($result['status'] as $status) {
91 self::assertStatus($status);
97 * Test the api_search() function without an authenticated user.
101 public function testApiSearchWithUnallowedUser()
103 // $this->expectException(\Friendica\Network\HTTPException\UnauthorizedException::class);
104 // BasicAuth::setCurrentUserID();
105 // api_search('json');
109 * Test the api_search() function without any GET query parameter.
113 public function testApiSearchWithoutQuery()
115 // $this->expectException(\Friendica\Network\HTTPException\BadRequestException::class);
116 // api_search('json');