]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #2389 from wallabag/add-info-publich-articles
authorNicolas Lœuillet <nicolas@loeuillet.org>
Fri, 7 Oct 2016 14:35:32 +0000 (16:35 +0200)
committerGitHub <noreply@github.com>
Fri, 7 Oct 2016 14:35:32 +0000 (16:35 +0200)
Added default picture if preview picture is null

21 files changed:
docs/en/user/errors_during_fetching.rst
docs/fr/user/errors_during_fetching.rst
src/Wallabag/AnnotationBundle/Entity/Annotation.php
src/Wallabag/CoreBundle/DataFixtures/ORM/LoadEntryData.php
src/Wallabag/CoreBundle/Entity/Entry.php
src/Wallabag/CoreBundle/Helper/EntriesExport.php
src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
src/Wallabag/UserBundle/Resources/views/Manage/edit.html.twig
tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php
tests/Wallabag/CoreBundle/Controller/TagControllerTest.php
tests/Wallabag/UserBundle/Controller/ManageControllerTest.php

index 68892750350409d837bdc3db42f54395d6c1efef..6684563ada75bb32ec06a93bbacef18e9cb999af 100644 (file)
@@ -12,9 +12,21 @@ There may be several reasons:
 How can I help to fix that?
 ---------------------------
 
-- `by sending us an email with the article's URL <mailto:hello@wallabag.org>`_
-- by trying to fix this article by yourself :) by creating a file for the article.
-  You can use `this tool <http://siteconfig.fivefilters.org/>`__.
+You can `sending us an email with the article's URL <mailto:hello@wallabag.org>`_.
+
+Or you can also try to fix this problem by yourself (so we can be focused on improving wallabag internally instead of writing siteconfig :) ).
+
+You can try to see if it works here: `http://f43.me/feed/test <http://f43.me/feed/test>`_ (it uses almost the same system as wallabag to retrieve content).
+
+If it works here and not on wallabag, it means there is something internally in wallabag that breaks the parser (hard to fix: please open an issue about it).
+
+If it doesn't works, try to extract a site config using: `http://siteconfig.fivefilters.org/ <http://siteconfig.fivefilters.org/>`_ (select which part of the content is actually the content). You can `read this documentation before <http://help.fivefilters.org/customer/en/portal/articles/223153-site-patterns>`_.
+
+You can test it on **f43.me** website: click on **Want to try a custom siteconfig?** and put the generated file from siteconfig.fivefilters.org.
+
+Repeat until you have something ok.
+
+Then you can submit a pull request to `https://github.com/fivefilters/ftr-site-config <https://github.com/fivefilters/ftr-site-config>`_ which is the global repo for siteconfig files.
 
 How can I try to re-fetch this article?
 ---------------------------------------
index 74290bef405f9dc78d24771b2f32e82fa57021ce..1a60e4bdbdd128d59f20c0e8ae44a3714c3c2db9 100644 (file)
@@ -12,9 +12,21 @@ Il peut y avoir plusieurs raisons :
 Comment puis-je aider pour réparer ça ?
 ---------------------------------------
 
-- `en nous envoyant un email avec l'URL de l'article <mailto:hello@wallabag.org>`_
-- en essayant de réparer cet article par vous-même :) en créant un fichier pour l'article.
-  Vous pouvez utiliser `cet outil <http://siteconfig.fivefilters.org/>`__.
+Vous pouvez `nous envoyer un email avec l'URL de l'article <mailto:hello@wallabag.org>`_.
+
+Ou vous pouvez aussi essayer de résoudre ce problème vous même (comme ça, nous restons concentrés pour améliorer wallabag au lieu d'écrire ces fichiers de configuration :) ).
+
+Vous pouvez essayer de voir si ça fonctionne ici : `http://f43.me/feed/test <http://f43.me/feed/test>`_ (ce site utilise principalement la même manière de fonctionner que wallabag pour récupérer les articles).
+
+Si ça fonctionne ici et pas sur wallabag, c'est qu'il y a un souci avec wallabag qui casse le parser (difficile à résoudre : merci d'ouvrir un nouveau ticket à ce sujet).
+
+Si ça ne fonctionne pas, vous pouvez essayer de créer un fichier de configuration en utilisant : `http://siteconfig.fivefilters.org/ <http://siteconfig.fivefilters.org/>`_ (sélectionnez les parties du contenu qui correspondent à ce que vous souhaitez garder).  Vous pouvez `lire cette documentation avant <http://help.fivefilters.org/customer/en/portal/articles/223153-site-patterns>`_.
+
+Vous pouvez tester ce fichier sur le site **f43.me** : cliquez sur **Want to try a custom siteconfig?** et insérez le fichier généré depuis siteconfig.fivefilters.org.
+
+Répétez cette opération jusqu'à avoir quelque chose qui vous convienne.
+
+Ensuite, vous pouvez créer une pull request ici `https://github.com/fivefilters/ftr-site-config <https://github.com/fivefilters/ftr-site-config>`_, qui est le projet principal pour stocker les fichiers de configuration.
 
 Comment puis-je réessayer de récupérer le contenu ?
 ---------------------------------------------------
index 90ee7c2d7e2200b484ae3c0d0550c15279390b38..c48d873100e2a38a25fa37e06a04a465ea49f0c1 100644 (file)
@@ -7,6 +7,7 @@ use JMS\Serializer\Annotation\ExclusionPolicy;
 use JMS\Serializer\Annotation\Exclude;
 use JMS\Serializer\Annotation\VirtualProperty;
 use JMS\Serializer\Annotation\SerializedName;
+use JMS\Serializer\Annotation\Groups;
 use Wallabag\UserBundle\Entity\User;
 use Wallabag\CoreBundle\Entity\Entry;
 
@@ -33,6 +34,8 @@ class Annotation
      * @var string
      *
      * @ORM\Column(name="text", type="text")
+     *
+     * @Groups({"entries_for_user", "export_all"})
      */
     private $text;
 
@@ -54,6 +57,8 @@ class Annotation
      * @var string
      *
      * @ORM\Column(name="quote", type="string")
+     *
+     * @Groups({"entries_for_user", "export_all"})
      */
     private $quote;
 
@@ -61,6 +66,8 @@ class Annotation
      * @var array
      *
      * @ORM\Column(name="ranges", type="array")
+     *
+     * @Groups({"entries_for_user", "export_all"})
      */
     private $ranges;
 
index 6c6a331a6c8904adb7b1aa8e843c133bb5657a40..fedad00993f6b3b5ff354f72c74bcea76e3e9c46 100644 (file)
@@ -23,6 +23,9 @@ class LoadEntryData extends AbstractFixture implements OrderedFixtureInterface
         $entry1->setContent('This is my content /o/');
         $entry1->setLanguage('en');
 
+        $entry1->addTag($this->getReference('foo-tag'));
+        $entry1->addTag($this->getReference('baz-tag'));
+
         $manager->persist($entry1);
 
         $this->addReference('entry1', $entry1);
@@ -96,6 +99,7 @@ class LoadEntryData extends AbstractFixture implements OrderedFixtureInterface
         $entry6->setContent('This is my content /o/');
         $entry6->setArchived(true);
         $entry6->setLanguage('de');
+        $entry6->addTag($this->getReference('bar-tag'));
 
         $manager->persist($entry6);
 
index a4b0d7a82b4c436ed4bc79b6154e88590da36847..f2da3f4def670d5a0e08af123a1617a2cb3fa509 100644 (file)
@@ -196,8 +196,6 @@ class Entry
      *      @ORM\JoinColumn(name="tag_id", referencedColumnName="id")
      *  }
      * )
-     *
-     * @Groups({"entries_for_user", "export_all"})
      */
     private $tags;
 
@@ -541,6 +539,21 @@ class Entry
         return $this->tags;
     }
 
+    /**
+     * @VirtualProperty
+     * @SerializedName("tags")
+     * @Groups({"entries_for_user", "export_all"})
+     */
+    public function getSerializedTags()
+    {
+        $data = [];
+        foreach ($this->tags as $tag) {
+            $data[] = $tag->getLabel();
+        }
+
+        return $data;
+    }
+
     /**
      * @param Tag $tag
      */
index 0c627dcdb6344fa687364d138b2d36bf217ddc89..e50c68a67a91f0870a97f254df0328ace7e886c8 100644 (file)
@@ -21,7 +21,6 @@ class EntriesExport
     private $entries = [];
     private $authors = ['wallabag'];
     private $language = '';
-    private $tags = [];
     private $footerTemplate = '<div style="text-align:center;">
         <p>Produced by wallabag with %EXPORT_METHOD%</p>
         <p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p>
@@ -53,10 +52,6 @@ class EntriesExport
 
         $this->entries = $entries;
 
-        foreach ($entries as $entry) {
-            $this->tags[] = $entry->getTags();
-        }
-
         return $this;
     }
 
@@ -159,8 +154,8 @@ class EntriesExport
 
         // set tags as subjects
         foreach ($this->entries as $entry) {
-            foreach ($this->tags as $tag) {
-                $book->setSubject($tag['value']);
+            foreach ($entry->getTags() as $tag) {
+                $book->setSubject($tag->getLabel());
             }
 
             // the reader in Kobo Devices doesn't likes special caracters
@@ -265,8 +260,8 @@ class EntriesExport
          * Adding actual entries
          */
         foreach ($this->entries as $entry) {
-            foreach ($this->tags as $tag) {
-                $pdf->SetKeywords($tag['value']);
+            foreach ($entry->getTags() as $tag) {
+                $pdf->SetKeywords($tag->getLabel());
             }
 
             $pdf->AddPage();
index 010670354462fd5696ff03cd327c662a8d637d5e..2652a1028fefcc7efbd71666dab049aef684aafe 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             # entry_saved_failed: 'Entry saved but fetching content failed'
             # entry_updated: 'Entry updated'
             # entry_reloaded: 'Entry reloaded'
-            # entry_reload_failed: 'Entry reloaded but fetching content failed'
+            # entry_reloaded_failed: 'Entry reloaded but fetching content failed'
             entry_archived: 'Artikel arkiveret'
             entry_unarchived: 'Artikel ikke længere arkiveret'
             entry_starred: 'Artikel markeret som favorit'
index 50195b058f5d8fc0e2cab1c19e86abbe0cb041c7..e0f29b6110449a8d6bbaf33891f9efdc31e3c60d 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             entry_saved_failed: 'Eintrag gespeichert, aber das Abrufen des Inhalts ist fehlgeschlagen'
             entry_updated: 'Eintrag aktualisiert'
             entry_reloaded: 'Eintrag neugeladen'
-            entry_reload_failed: 'Eintrag neugeladen, aber das Abrufen des Inhalts ist fehlgeschlagen'
+            entry_reloaded_failed: 'Eintrag neugeladen, aber das Abrufen des Inhalts ist fehlgeschlagen'
             entry_archived: 'Artikel archiviert'
             entry_unarchived: 'Artikel dearchiviert'
             entry_starred: 'Artikel favorisiert'
index 2aba86ff75d90219eeb0d268b223ab2981603208..b8e98112994023532807553c00d8f60d4cb56df5 100644 (file)
@@ -463,7 +463,7 @@ flashes:
             entry_saved_failed: 'Entry saved but fetching content failed'
             entry_updated: 'Entry updated'
             entry_reloaded: 'Entry reloaded'
-            entry_reload_failed: 'Entry reloaded but fetching content failed'
+            entry_reloaded_failed: 'Entry reloaded but fetching content failed'
             entry_archived: 'Entry archived'
             entry_unarchived: 'Entry unarchived'
             entry_starred: 'Entry starred'
index b74955109874d0833422ec9eb8b909754024a3a3..70633bd76ce90fb78cf4984dc7e95bff4617fa15 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             # entry_saved_failed: 'Entry saved but fetching content failed'
             entry_updated: 'Entrada actualizada'
             entry_reloaded: 'Entrada recargada'
-            # entry_reload_failed: 'Entry reloaded but fetching content failed'
+            # entry_reloaded_failed: 'Entry reloaded but fetching content failed'
             entry_archived: 'Artículo archivado'
             entry_unarchived: 'Artículo desarchivado'
             entry_starred: 'Artículo guardado en los favoritos'
index 13763564814f18e80b24a612954833a13143a63a..074ab7a8981c84666abd240110ff85f03358cc3c 100644 (file)
@@ -463,7 +463,7 @@ flashes:
             # entry_saved_failed: 'Entry saved but fetching content failed'
             entry_updated: 'مقاله به‌روز شد'
             entry_reloaded: 'مقاله به‌روز شد'
-            # entry_reload_failed: 'Entry reloaded but fetching content failed'
+            # entry_reloaded_failed: 'Entry reloaded but fetching content failed'
             entry_archived: 'مقاله بایگانی شد'
             entry_unarchived: 'مقاله از بایگانی درآمد'
             entry_starred: 'مقاله برگزیده شد'
index 098bc9ffc51b7901af0d6e9f5234937409023a6f..6d85a5aeac9158ab62f1b923cb1a241d53d5e226 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             entry_saved_failed: 'Article enregistré mais impossible de récupérer le contenu'
             entry_updated: 'Article mis à jour'
             entry_reloaded: 'Article rechargé'
-            entry_reload_failed: "Article mis à jour mais impossible de récupérer le contenu"
+            entry_reloaded_failed: "Article mis à jour mais impossible de récupérer le contenu"
             entry_archived: 'Article marqué comme lu'
             entry_unarchived: 'Article marqué comme non lu'
             entry_starred: 'Article ajouté dans les favoris'
index 390a4b60d26e650baaf1d92a14edcc95252519cf..15f7e7743822b1ab782d0348482e2e19e1099efc 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             # entry_saved_failed: 'Entry saved but fetching content failed'
             entry_updated: 'Contenuto aggiornato'
             entry_reloaded: 'Contenuto ricaricato'
-            # entry_reload_failed: 'Entry reloaded but fetching content failed'
+            # entry_reloaded_failed: 'Entry reloaded but fetching content failed'
             entry_archived: 'Contenuto archiviato'
             entry_unarchived: 'Contenuto dis-archiviato'
             entry_starred: 'Contenuto segnato come preferito'
index 990938a654e96fb44eb3804065832ad7a5c4851d..1d10be2aeb06cb2d72ebb73cefee7a6457ade90e 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             entry_saved_failed: 'Article salvat mai fracàs de la recuperacion del contengut'
             entry_updated: 'Article mes a jorn'
             entry_reloaded: 'Article recargat'
-            entry_reload_failed: "L'article es estat cargat de nòu mai la recuperacion del contengut a fracassat"
+            entry_reloaded_failed: "L'article es estat cargat de nòu mai la recuperacion del contengut a fracassat"
             entry_archived: 'Article marcat coma legit'
             entry_unarchived: 'Article marcat coma pas legit'
             entry_starred: 'Article apondut dins los favorits'
index 6dd79641cad5e9613a5e7e89881f2f1b334c3965..9791a3b2a388b558cae2c8962633382d478081b4 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             entry_saved_failed: 'Wpis zapisany, ale wystąpił bład pobierania treści'
             entry_updated: 'Wpis zaktualizowany'
             entry_reloaded: 'Wpis ponownie załadowany'
-            entry_reload_failed: 'Wpis ponownie załadowany, ale wystąpił bład pobierania treści'
+            entry_reloaded_failed: 'Wpis ponownie załadowany, ale wystąpił bład pobierania treści'
             entry_archived: 'Wpis dodany do archiwum'
             entry_unarchived: 'Wpis usunięty z archiwum'
             entry_starred: 'Wpis oznaczony gwiazdką'
index a8d625d2431060a9694a9ab321b4b6969cc7b093..2b1d4f6db59bde5e883c8c6884d5a8dc7b598802 100644 (file)
@@ -464,7 +464,7 @@ flashes:
             # entry_saved_failed: 'Entry saved but fetching content failed'
             # entry_updated: 'Entry updated'
             # entry_reloaded: 'Entry reloaded'
-            # entry_reload_failed: 'Entry reloaded but fetching content failed'
+            # entry_reloaded_failed: 'Entry reloaded but fetching content failed'
             entry_archived: 'Articol arhivat'
             entry_unarchived: 'Articol dezarhivat'
             entry_starred: 'Articol adăugat la favorite'
index bcfd8ad418e6b93c80c3b341a0b21e47a9ff5325..8cfc245ab99a22616af157299d31110664870ac0 100644 (file)
@@ -463,7 +463,7 @@ flashes:
             # entry_saved_failed: 'Entry saved but fetching content failed'
             # entry_updated: 'Entry updated'
             entry_reloaded: 'Makale içeriği yenilendi'
-            # entry_reload_failed: 'Entry reloaded but fetching content failed'
+            # entry_reloaded_failed: 'Entry reloaded but fetching content failed'
             entry_archived: 'Makale arşivlendi'
             entry_unarchived: 'Makale arşivden çıkartıldı'
             entry_starred: 'Makale favorilere eklendi'
index d5cf99c32691338365b4c004a44178fb7fe549d9..67843f20182fd5052c35fbcfc173cdbdaa521936 100644 (file)
@@ -68,7 +68,7 @@
                                 <br/>
 
                                 {{ form_widget(edit_form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
-                                {{ form_rest(edit_form) }}
+                                {{ form_widget(edit_form._token) }}
                             </form>
                             <p>
                                 {{ form_start(delete_form) }}
index 47b86117dde2a35c72c6902fecfbf028755f4743..9ecd8bc4e62ddd950aa831c0c5cf1ffaa70c3b16 100644 (file)
@@ -146,7 +146,9 @@ class ExportControllerTest extends WallabagCoreTestCase
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
             ->createQueryBuilder('e')
+            ->select('e, t')
             ->leftJoin('e.user', 'u')
+            ->leftJoin('e.tags', 't')
             ->where('u.username = :username')->setParameter('username', 'admin')
             ->andWhere('e.isArchived = true')
             ->getQuery()
@@ -169,6 +171,18 @@ class ExportControllerTest extends WallabagCoreTestCase
         // +1 for title line
         $this->assertEquals(count($contentInDB) + 1, count($csv));
         $this->assertEquals('Title;URL;Content;Tags;"MIME Type";Language;"Creation date"', $csv[0]);
+        $this->assertContains($contentInDB[0]['title'], $csv[1]);
+        $this->assertContains($contentInDB[0]['url'], $csv[1]);
+        $this->assertContains($contentInDB[0]['content'], $csv[1]);
+        $this->assertContains($contentInDB[0]['mimetype'], $csv[1]);
+        $this->assertContains($contentInDB[0]['language'], $csv[1]);
+        $this->assertContains($contentInDB[0]['createdAt']->format('d/m/Y h:i:s'), $csv[1]);
+
+        $expectedTag = [];
+        foreach ($contentInDB[0]['tags'] as $tag) {
+            $expectedTag[] = $tag['label'];
+        }
+        $this->assertContains(implode(', ', $expectedTag), $csv[1]);
     }
 
     public function testJsonExport()
@@ -176,29 +190,23 @@ class ExportControllerTest extends WallabagCoreTestCase
         $this->logInAs('admin');
         $client = $this->getClient();
 
-        // to be sure results are the same
         $contentInDB = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
-            ->createQueryBuilder('e')
-            ->leftJoin('e.user', 'u')
-            ->where('u.username = :username')->setParameter('username', 'admin')
-            ->getQuery()
-            ->getArrayResult();
+            ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId());
 
         ob_start();
-        $crawler = $client->request('GET', '/export/all.json');
+        $crawler = $client->request('GET', '/export/'.$contentInDB->getId().'.json');
         ob_end_clean();
 
         $this->assertEquals(200, $client->getResponse()->getStatusCode());
 
         $headers = $client->getResponse()->headers;
         $this->assertEquals('application/json', $headers->get('content-type'));
-        $this->assertEquals('attachment; filename="All articles.json"', $headers->get('content-disposition'));
+        $this->assertEquals('attachment; filename="'.$contentInDB->getTitle().'.json"', $headers->get('content-disposition'));
         $this->assertEquals('UTF-8', $headers->get('content-transfer-encoding'));
 
         $content = json_decode($client->getResponse()->getContent(), true);
-        $this->assertEquals(count($contentInDB), count($content));
         $this->assertArrayHasKey('id', $content[0]);
         $this->assertArrayHasKey('title', $content[0]);
         $this->assertArrayHasKey('url', $content[0]);
@@ -212,6 +220,17 @@ class ExportControllerTest extends WallabagCoreTestCase
         $this->assertArrayHasKey('tags', $content[0]);
         $this->assertArrayHasKey('created_at', $content[0]);
         $this->assertArrayHasKey('updated_at', $content[0]);
+
+        $this->assertEquals($contentInDB->isArchived(), $content[0]['is_archived']);
+        $this->assertEquals($contentInDB->isStarred(), $content[0]['is_starred']);
+        $this->assertEquals($contentInDB->getTitle(), $content[0]['title']);
+        $this->assertEquals($contentInDB->getUrl(), $content[0]['url']);
+        $this->assertEquals([['text' => 'This is my annotation /o/', 'quote' => 'content']], $content[0]['annotations']);
+        $this->assertEquals($contentInDB->getMimetype(), $content[0]['mimetype']);
+        $this->assertEquals($contentInDB->getLanguage(), $content[0]['language']);
+        $this->assertEquals($contentInDB->getReadingtime(), $content[0]['reading_time']);
+        $this->assertEquals($contentInDB->getDomainname(), $content[0]['domain_name']);
+        $this->assertEquals(['foo', 'baz'], $content[0]['tags']);
     }
 
     public function testXmlExport()
index 2c32393f74449f373c3a0e168c40dc36ca213cdb..86a6cca2438fcf0e7053c097e8b441df873e1813 100644 (file)
@@ -26,7 +26,7 @@ class TagControllerTest extends WallabagCoreTestCase
         $entry = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
-            ->findOneByUsernameAndNotArchived('admin');
+            ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId());
 
         $crawler = $client->request('GET', '/view/'.$entry->getId());
 
@@ -43,9 +43,9 @@ class TagControllerTest extends WallabagCoreTestCase
         $entry = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
-            ->findOneByUsernameAndNotArchived('admin');
+            ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId());
 
-        $this->assertEquals(1, count($entry->getTags()));
+        $this->assertEquals(3, count($entry->getTags()));
 
         // tag already exists and already assigned
         $client->submit($form, $data);
@@ -56,7 +56,7 @@ class TagControllerTest extends WallabagCoreTestCase
             ->getRepository('WallabagCoreBundle:Entry')
             ->find($entry->getId());
 
-        $this->assertEquals(1, count($newEntry->getTags()));
+        $this->assertEquals(3, count($newEntry->getTags()));
 
         // tag already exists but still not assigned to this entry
         $data = [
@@ -71,7 +71,7 @@ class TagControllerTest extends WallabagCoreTestCase
             ->getRepository('WallabagCoreBundle:Entry')
             ->find($entry->getId());
 
-        $this->assertEquals(2, count($newEntry->getTags()));
+        $this->assertEquals(3, count($newEntry->getTags()));
     }
 
     public function testAddMultipleTagToEntry()
@@ -82,7 +82,7 @@ class TagControllerTest extends WallabagCoreTestCase
         $entry = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
-            ->findOneByUsernameAndNotArchived('admin');
+            ->findByUrlAndUserId('http://0.0.0.0/entry2', $this->getLoggedInUserId());
 
         $crawler = $client->request('GET', '/view/'.$entry->getId());
 
@@ -101,9 +101,13 @@ class TagControllerTest extends WallabagCoreTestCase
             ->find($entry->getId());
 
         $tags = $newEntry->getTags()->toArray();
+        foreach ($tags as $key => $tag) {
+            $tags[$key] = $tag->getLabel();
+        }
+
         $this->assertGreaterThanOrEqual(2, count($tags));
-        $this->assertNotEquals(false, array_search('foo2', $tags), 'Tag foo2 is assigned to the entry');
-        $this->assertNotEquals(false, array_search('bar2', $tags), 'Tag bar2 is assigned to the entry');
+        $this->assertNotFalse(array_search('foo2', $tags), 'Tag foo2 is assigned to the entry');
+        $this->assertNotFalse(array_search('bar2', $tags), 'Tag bar2 is assigned to the entry');
     }
 
     public function testRemoveTagFromEntry()
@@ -114,7 +118,7 @@ class TagControllerTest extends WallabagCoreTestCase
         $entry = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
-            ->findOneByUsernameAndNotArchived('admin');
+            ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId());
 
         $tag = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
@@ -140,7 +144,7 @@ class TagControllerTest extends WallabagCoreTestCase
         $entry = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
             ->getRepository('WallabagCoreBundle:Entry')
-            ->findOneByUsernameAndNotArchived('admin');
+            ->findByUrlAndUserId('http://0.0.0.0/entry4', $this->getLoggedInUserId());
 
         $tag = $client->getContainer()
             ->get('doctrine.orm.entity_manager')
@@ -160,6 +164,6 @@ class TagControllerTest extends WallabagCoreTestCase
         $crawler = $client->request('GET', '/tag/list/'.$tag->getSlug());
 
         $this->assertEquals(200, $client->getResponse()->getStatusCode());
-        $this->assertCount(0, $crawler->filter('div[class=entry]'));
+        $this->assertCount(1, $crawler->filter('div[class=entry]'));
     }
 }
index 19b824b87bc0eddf7794833609b3b582c96d7b43..243a4459393e1db6a411a1da0115a56c4f90ca90 100644 (file)
@@ -23,7 +23,7 @@ class ManageControllerTest extends WallabagCoreTestCase
 
         // Create a new user in the database
         $crawler = $client->request('GET', '/users/');
-        $this->assertEquals(200, $client->getResponse()->getStatusCode(), "Unexpected HTTP status code for GET /users/");
+        $this->assertEquals(200, $client->getResponse()->getStatusCode(), 'Unexpected HTTP status code for GET /users/');
         $crawler = $client->click($crawler->selectLink('user.list.create_new_one')->link());
 
         // Fill in the form and submit it