mirror of
https://github.com/wallabag/wallabag.git
synced 2024-12-22 15:46:30 +00:00
parent
790573d458
commit
7883367246
8 changed files with 33 additions and 18 deletions
|
@ -49,8 +49,7 @@ class EntryController extends Controller
|
|||
|
||||
if ($form->isValid()) {
|
||||
// check for existing entry, if it exists, redirect to it with a message
|
||||
$existingEntry = $this->get('wallabag_core.entry_repository')
|
||||
->existByUrlAndUserId($entry->getUrl(), $this->getUser()->getId());
|
||||
$existingEntry = $this->get('wallabag_core.entry_repository')->findByUrlAndUserId($entry->getUrl(), $this->getUser()->getId());
|
||||
|
||||
if (false !== $existingEntry) {
|
||||
$this->get('session')->getFlashBag()->add(
|
||||
|
|
|
@ -235,10 +235,9 @@ class EntryRepository extends EntityRepository
|
|||
*
|
||||
* @return array|bool
|
||||
*/
|
||||
public function existByUrlAndUserId($url, $userId)
|
||||
public function findByUrlAndUserId($url, $userId)
|
||||
{
|
||||
$res = $this->createQueryBuilder('e')
|
||||
->select('e.id, e.createdAt')
|
||||
->where('e.url = :url')->setParameter('url', $url)
|
||||
->andWhere('e.user = :user_id')->setParameter('user_id', $userId)
|
||||
->getQuery()
|
||||
|
|
|
@ -38,7 +38,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$form = $crawler->filter('button[type=submit]')->form();
|
||||
|
||||
$data = array(
|
||||
'entry[url]' => 'https://www.wallabag.org/blog/2016/01/08/wallabag-alpha1-v2',
|
||||
'entry[url]' => $this->url,
|
||||
);
|
||||
|
||||
$client->submit($form, $data);
|
||||
|
@ -82,7 +82,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
->get('doctrine.orm.entity_manager');
|
||||
$entry = $em
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
$em->remove($entry);
|
||||
$em->flush();
|
||||
}
|
||||
|
@ -202,7 +202,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
$client->request('GET', '/view/'.$content->getId());
|
||||
|
||||
|
@ -223,7 +223,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
// empty content
|
||||
$content->setContent('');
|
||||
|
@ -237,7 +237,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
$this->assertNotEmpty($content->getContent());
|
||||
}
|
||||
|
@ -250,7 +250,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
$crawler = $client->request('GET', '/edit/'.$content->getId());
|
||||
|
||||
|
@ -268,7 +268,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
$crawler = $client->request('GET', '/edit/'.$content->getId());
|
||||
|
||||
|
@ -298,7 +298,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
$client->request('GET', '/archive/'.$content->getId());
|
||||
|
||||
|
@ -320,7 +320,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
$client->request('GET', '/star/'.$content->getId());
|
||||
|
||||
|
@ -342,7 +342,7 @@ class EntryControllerTest extends WallabagCoreTestCase
|
|||
$content = $client->getContainer()
|
||||
->get('doctrine.orm.entity_manager')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findOneByUrl($this->url);
|
||||
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||
|
||||
$client->request('GET', '/delete/'.$content->getId());
|
||||
|
||||
|
|
|
@ -31,4 +31,21 @@ abstract class WallabagCoreTestCase extends WebTestCase
|
|||
|
||||
$this->client->submit($form, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the user id of the logged in user.
|
||||
* You should be sure that you called `logInAs` before.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getLoggedInUserId()
|
||||
{
|
||||
$token = static::$kernel->getContainer()->get('security.token_storage')->getToken();
|
||||
|
||||
if (null !== $token) {
|
||||
return $token->getUser()->getId();
|
||||
}
|
||||
|
||||
throw new \RuntimeException('No logged in User.');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -214,7 +214,7 @@ class PocketImport implements ImportInterface
|
|||
|
||||
$existingEntry = $this->em
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->existByUrlAndUserId($url, $this->user->getId());
|
||||
->findByUrlAndUserId($url, $this->user->getId());
|
||||
|
||||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
|
|
@ -127,7 +127,7 @@ class WallabagV1Import implements ImportInterface
|
|||
foreach ($entries as $importedEntry) {
|
||||
$existingEntry = $this->em
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->existByUrlAndUserId($importedEntry['url'], $this->user->getId());
|
||||
->findByUrlAndUserId($importedEntry['url'], $this->user->getId());
|
||||
|
||||
if (false !== $existingEntry) {
|
||||
++$this->skippedEntries;
|
||||
|
|
|
@ -248,7 +248,7 @@ class PocketImportTest extends \PHPUnit_Framework_TestCase
|
|||
->getMock();
|
||||
|
||||
$entryRepo->expects($this->exactly(2))
|
||||
->method('existByUrlAndUserId')
|
||||
->method('findByUrlAndUserId')
|
||||
->will($this->onConsecutiveCalls(false, true));
|
||||
|
||||
$tag = $this->getMockBuilder('Wallabag\CoreBundle\Entity\Tag')
|
||||
|
|
|
@ -53,7 +53,7 @@ class WallabagV1ImportTest extends \PHPUnit_Framework_TestCase
|
|||
->getMock();
|
||||
|
||||
$entryRepo->expects($this->exactly(3))
|
||||
->method('existByUrlAndUserId')
|
||||
->method('findByUrlAndUserId')
|
||||
->will($this->onConsecutiveCalls(false, true, false));
|
||||
|
||||
$this->em
|
||||
|
|
Loading…
Reference in a new issue