+
+ $this->assertSame((int) $contentInDB->isArchived(), $content[0]['is_archived']);
+ $this->assertSame((int) $contentInDB->isStarred(), $content[0]['is_starred']);
+ $this->assertSame($contentInDB->getTitle(), $content[0]['title']);
+ $this->assertSame($contentInDB->getUrl(), $content[0]['url']);
+ $this->assertSame([['text' => 'This is my annotation /o/', 'quote' => 'content']], $content[0]['annotations']);
+ $this->assertSame($contentInDB->getMimetype(), $content[0]['mimetype']);
+ $this->assertSame($contentInDB->getLanguage(), $content[0]['language']);
+ $this->assertSame($contentInDB->getReadingtime(), $content[0]['reading_time']);
+ $this->assertSame($contentInDB->getDomainname(), $content[0]['domain_name']);
+ $this->assertContains('baz', $content[0]['tags']);
+ $this->assertContains('foo', $content[0]['tags']);
+ }
+
+ public function testJsonExportFromSearch()
+ {
+ $this->setUpForJsonExportFromSearch();
+
+ $this->logInAs('admin');
+ $client = $this->getClient();
+
+ ob_start();
+ $crawler = $client->request('GET', '/export/search.json?search_entry[term]=entry+search¤tRoute=homepage');
+ ob_end_clean();
+
+ $this->assertSame(200, $client->getResponse()->getStatusCode());
+
+ $headers = $client->getResponse()->headers;
+ $this->assertSame('application/json', $headers->get('content-type'));
+ $this->assertSame('attachment; filename="Search entry search articles.json"', $headers->get('content-disposition'));
+ $this->assertSame('UTF-8', $headers->get('content-transfer-encoding'));
+
+ $content = json_decode($client->getResponse()->getContent(), true);
+ $this->assertCount(1, $content);
+
+ $this->tearDownForJsonExportFromSearch();