forked from wallabag/wallabag
Multiple tag search was broken from API
First, the setParameter() were done on the same parameter which in fact just duplicated the condition in the SQL query (like `where t.label = 'test' and t.label = 'test'`. Changed the parameter doesn't help because the query was then wrong. Changing the way to match associated tags for an entry and it worked.
This commit is contained in:
@ -292,6 +292,9 @@ class EntryRestControllerTest extends WallabagApiTestCase
|
||||
$this->assertSame(1, $content['page']);
|
||||
$this->assertGreaterThanOrEqual(1, $content['pages']);
|
||||
|
||||
$this->assertContains('foo', array_column($content['_embedded']['items'][0]['tags'], 'label'), 'Entries tags should have "foo" tag');
|
||||
$this->assertContains('bar', array_column($content['_embedded']['items'][0]['tags'], 'label'), 'Entries tags should have "bar" tag');
|
||||
|
||||
$this->assertArrayHasKey('_links', $content);
|
||||
$this->assertArrayHasKey('self', $content['_links']);
|
||||
$this->assertArrayHasKey('first', $content['_links']);
|
||||
|
||||
@ -239,7 +239,7 @@ class ExportControllerTest extends WallabagCoreTestCase
|
||||
$this->assertSame($contentInDB->getLanguage(), $content[0]['language']);
|
||||
$this->assertSame($contentInDB->getReadingtime(), $content[0]['reading_time']);
|
||||
$this->assertSame($contentInDB->getDomainname(), $content[0]['domain_name']);
|
||||
$this->assertSame(['foo bar', 'baz'], $content[0]['tags']);
|
||||
$this->assertSame(['baz', 'foo'], $content[0]['tags']);
|
||||
}
|
||||
|
||||
public function testXmlExport()
|
||||
|
||||
@ -184,13 +184,13 @@ class RssControllerTest extends WallabagCoreTestCase
|
||||
$em->flush();
|
||||
|
||||
$client = $this->getClient();
|
||||
$client->request('GET', '/admin/SUPERTOKEN/tags/foo-bar.xml');
|
||||
$client->request('GET', '/admin/SUPERTOKEN/tags/foo.xml');
|
||||
|
||||
$this->assertSame(200, $client->getResponse()->getStatusCode());
|
||||
|
||||
$this->validateDom($client->getResponse()->getContent(), 'tag (foo bar)', 'tags/foo-bar');
|
||||
$this->validateDom($client->getResponse()->getContent(), 'tag (foo)', 'tags/foo');
|
||||
|
||||
$client->request('GET', '/admin/SUPERTOKEN/tags/foo-bar.xml?page=3000');
|
||||
$client->request('GET', '/admin/SUPERTOKEN/tags/foo.xml?page=3000');
|
||||
$this->assertSame(302, $client->getResponse()->getStatusCode());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user