$this->assertSame('fr', $content->getLanguage());
$this->assertSame('2015-03-28 11:43:19', $content->getPublishedAt()->format('Y-m-d H:i:s'));
$this->assertSame('Morgane Tual', $author[0]);
- $this->assertArrayHasKey('x-varnish1', $content->getHeaders());
+ $this->assertArrayHasKey('x-age', $content->getHeaders());
$client->getContainer()->get('craue_config')->set('store_article_headers', 0);
}
$content->setMimetype('text/html');
$content->setTitle('test title entry');
$content->setContent('This is my content /o/');
- $content->setArchived(true);
+ $content->updateArchived(true);
$content->setLanguage('fr');
$em->persist($content);
$entry = new Entry($this->getLoggedInUser());
$entry->setUrl($this->url);
- $entry->setArchived(false);
+ $entry->updateArchived(false);
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
$client->request('GET', '/share/' . $content->getId());
$this->assertSame(302, $client->getResponse()->getStatusCode());
- // follow link with uid
- $crawler = $client->followRedirect();
+ $shareUrl = $client->getResponse()->getTargetUrl();
+
+ // use a new client to have a fresh empty session (instead of a logged one from the previous client)
+ $client->restart();
+
+ $client->request('GET', $shareUrl);
+
$this->assertSame(200, $client->getResponse()->getStatusCode());
$this->assertContains('max-age=25200', $client->getResponse()->headers->get('cache-control'));
$this->assertContains('public', $client->getResponse()->headers->get('cache-control'));
$client->request('GET', '/share/' . $content->getUid());
$this->assertSame(404, $client->getResponse()->getStatusCode());
- $client->request('GET', '/view/' . $content->getId());
- $this->assertContains('no-cache', $client->getResponse()->headers->get('cache-control'));
-
// removing the share
$client->request('GET', '/share/delete/' . $content->getId());
$this->assertSame(302, $client->getResponse()->getStatusCode());
$entry = new Entry($this->getLoggedInUser());
$entry->setUrl('http://0.0.0.0/foo/baz/qux');
$entry->setTitle('Le manège');
- $entry->setArchived(true);
+ $entry->updateArchived(true);
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
$entry = new Entry($this->getLoggedInUser());
$entry->setUrl('http://domain/qux');
$entry->setTitle('Le manège');
- $entry->setArchived(true);
+ $entry->updateArchived(true);
$this->getEntityManager()->persist($entry);
$this->getEntityManager()->flush();
$this->assertSame(sprintf('/remove-tag/%s/%s', $entry->getId(), $tag->getId()), $link);
}
+
+ public function testRandom()
+ {
+ $this->logInAs('admin');
+ $client = $this->getClient();
+
+ $client->request('GET', '/unread/random');
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+ $this->assertContains('/view/', $client->getResponse()->getTargetUrl(), 'Unread random');
+
+ $client->request('GET', '/starred/random');
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+ $this->assertContains('/view/', $client->getResponse()->getTargetUrl(), 'Starred random');
+
+ $client->request('GET', '/archive/random');
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+ $this->assertContains('/view/', $client->getResponse()->getTargetUrl(), 'Archive random');
+
+ $client->request('GET', '/untagged/random');
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+ $this->assertContains('/view/', $client->getResponse()->getTargetUrl(), 'Untagged random');
+
+ $client->request('GET', '/all/random');
+ $this->assertSame(302, $client->getResponse()->getStatusCode());
+ $this->assertContains('/view/', $client->getResponse()->getTargetUrl(), 'All random');
+ }
}