$this->logInAs('admin');
$client = $this->getClient();
- $content = $client->getContainer()
- ->get('doctrine.orm.entity_manager')
+ $em = $client->getContainer()
+ ->get('doctrine.orm.entity_manager');
+
+ $content = $em
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
// empty content
$content->setContent('');
- $client->getContainer()->get('doctrine.orm.entity_manager')->persist($content);
- $client->getContainer()->get('doctrine.orm.entity_manager')->flush();
+ $em->persist($content);
+ $em->flush();
$client->request('GET', '/reload/'.$content->getId());
$this->assertEquals(302, $client->getResponse()->getStatusCode());
- $content = $client->getContainer()
- ->get('doctrine.orm.entity_manager')
+ $content = $em
->getRepository('WallabagCoreBundle:Entry')
- ->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
+ ->find($content->getId());
$this->assertNotEmpty($content->getContent());
}
+ /**
+ * @depends testPostNewOk
+ */
+ public function testReloadWithFetchingFailed()
+ {
+ $this->logInAs('admin');
+ $client = $this->getClient();
+
+ $em = $client->getContainer()
+ ->get('doctrine.orm.entity_manager');
+
+ $content = $em
+ ->getRepository('WallabagCoreBundle:Entry')
+ ->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
+
+ // put a known failed url
+ $content->setUrl('http://0.0.0.0/failed.html');
+ $em->persist($content);
+ $em->flush();
+
+ $client->request('GET', '/reload/'.$content->getId());
+
+ $this->assertEquals(302, $client->getResponse()->getStatusCode());
+
+ // force EntityManager to clear previous entity
+ // otherwise, retrieve the same entity will retrieve change from the previous request :0
+ $em->clear();
+ $newContent = $em
+ ->getRepository('WallabagCoreBundle:Entry')
+ ->find($content->getId());
+
+ $newContent->setUrl($this->url);
+ $em->persist($newContent);
+ $em->flush();
+
+ $this->assertNotEquals($client->getContainer()->getParameter('wallabag_core.fetching_error_message'), $newContent->getContent());
+ }
+
public function testEdit()
{
$this->logInAs('admin');
$this->logInAs('admin');
$client = $this->getClient();
+ $em = $client->getContainer()
+ ->get('doctrine.orm.entity_manager');
+
// add a new content to be removed later
- $user = $client->getContainer()
- ->get('doctrine.orm.entity_manager')
+ $user = $em
->getRepository('WallabagUserBundle:User')
->findOneByUserName('admin');
$content->setArchived(true);
$content->setLanguage('fr');
- $client->getContainer()
- ->get('doctrine.orm.entity_manager')
- ->persist($content);
- $client->getContainer()
- ->get('doctrine.orm.entity_manager')
- ->flush();
+ $em->persist($content);
+ $em->flush();
$client->request('GET', '/view/'.$content->getId());
$this->assertEquals(200, $client->getResponse()->getStatusCode());
$this->assertCount(2, $crawler->filter('div[class=entry]'));
}
- public function testCache()
+ public function testShareEntryPublicly()
{
$this->logInAs('admin');
$client = $this->getClient();
$this->assertContains('public', $client->getResponse()->headers->get('cache-control'));
$this->assertContains('s-maxage=25200', $client->getResponse()->headers->get('cache-control'));
$this->assertNotContains('no-cache', $client->getResponse()->headers->get('cache-control'));
+ $this->assertContains('og:title', $client->getResponse()->getContent());
+ $this->assertContains('og:type', $client->getResponse()->getContent());
+ $this->assertContains('og:url', $client->getResponse()->getContent());
+ $this->assertContains('og:image', $client->getResponse()->getContent());
// sharing is now disabled
$client->getContainer()->get('craue_config')->set('share_public', 0);