Skip to content

Commit

Permalink
Add regression test for #1738
Browse files Browse the repository at this point in the history
This should ensure we can always search for search terms that appear
either only in the subject or only in the text of discussions.
  • Loading branch information
franzliedke committed Mar 6, 2019
1 parent 33deea4 commit 26c3bcd
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions tests/integration/api/Controller/ListDiscussionsControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,30 @@ public function can_search_for_author()

$this->assertEquals(200, $response->getStatusCode());
}

/**
* @test
*/
public function can_search_for_word_in_title_and_post()
{
$this->database()->table('posts')->insert([
['id' => 2, 'discussion_id' => 2, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>not in text</p></t>'],
['id' => 3, 'discussion_id' => 3, 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'type' => 'comment', 'content' => '<t><p>lightsail in text</p></t>'],
]);

$this->database()->table('discussions')->insert([
['id' => 2, 'title' => 'lightsail in title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 2, 'comment_count' => 1],
['id' => 3, 'title' => 'not in title', 'created_at' => Carbon::now()->toDateTimeString(), 'user_id' => 2, 'first_post_id' => 3, 'comment_count' => 1],
]);

$response = $this->callWith([], [
'filter' => ['q' => 'lightsail'],
'include' => 'mostRelevantPost'
]);
$data = json_decode($response->getBody()->getContents(), true);
$ids = array_map(function ($row) { return $row['id']; }, $data['data']);

// Order-independent comparison
$this->assertEquals(['2', '3'], $ids, 'IDs do not match', 0.0, 10, true);
}
}

0 comments on commit 26c3bcd

Please sign in to comment.