]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #3137 from aaa2000/isolated-tests
authorJérémy Benoist <j0k3r@users.noreply.github.com>
Thu, 1 Jun 2017 05:58:17 +0000 (07:58 +0200)
committerGitHub <noreply@github.com>
Thu, 1 Jun 2017 05:58:17 +0000 (07:58 +0200)
Isolated tests

1  2 
composer.json
tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php

diff --combined composer.json
index 36b00ba06f582134ddc3989cf2f152d48c64ae0e,60de962c37c8b517b1b79438f113e910ef137665..0a170c168db3162a3eb4d082d7f2956400c5faaa
          "wallabag/tcpdf": "^6.2",
          "simplepie/simplepie": "~1.3.1",
          "willdurand/hateoas-bundle": "~1.0",
 -        "htmlawed/htmlawed": "~1.1.19",
          "liip/theme-bundle": "~1.1",
          "lexik/form-filter-bundle": "~5.0",
 -        "j0k3r/graby": "~1.0",
 +        "j0k3r/graby": "^1.0",
          "friendsofsymfony/user-bundle": "^2.0",
          "friendsofsymfony/oauth-server-bundle": "^1.5",
          "stof/doctrine-extensions-bundle": "^1.2",
          "doctrine/doctrine-fixtures-bundle": "~2.2",
          "doctrine/data-fixtures": "~1.1.1",
          "sensio/generator-bundle": "^3.0",
-         "symfony/phpunit-bridge": "^3.0",
+         "symfony/phpunit-bridge": "^3.3",
          "friendsofphp/php-cs-fixer": "~1.9",
-         "m6web/redis-mock": "^2.0"
+         "m6web/redis-mock": "^2.0",
+         "dama/doctrine-test-bundle": "^1.0"
      },
      "scripts": {
          "post-cmd": [
index e9ba4634c090568082e692e24a92346b272e31c3,1ecd03fb96c9173bebd43f0a64930a549758f5b3..0968cfafc9d4132cb3e0c0adfe55a15dffab389c
@@@ -3,8 -3,10 +3,10 @@@
  namespace Tests\Wallabag\ApiBundle\Controller;
  
  use Tests\Wallabag\ApiBundle\WallabagApiTestCase;
+ use Wallabag\CoreBundle\Entity\Entry;
  use Wallabag\CoreBundle\Entity\Tag;
  use Wallabag\CoreBundle\Helper\ContentProxy;
+ use Wallabag\UserBundle\Entity\User;
  
  class EntryRestControllerTest extends WallabagApiTestCase
  {
              'url' => 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html',
              'tags' => 'google',
              'title' => 'New title for my article',
 +            'content' => 'my content',
 +            'language' => 'de_DE',
 +            'published_at' => '2016-09-08T11:55:58+0200',
 +            'authors' => 'bob,helen',
          ]);
  
          $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
          $this->assertEquals('New title for my article', $content['title']);
          $this->assertEquals(1, $content['user_id']);
          $this->assertCount(2, $content['tags']);
 +        $this->assertSame('my content', $content['content']);
 +        $this->assertSame('de_DE', $content['language']);
 +        $this->assertSame('2016-09-08T11:55:58+0200', $content['published_at']);
 +        $this->assertCount(2, $content['published_by']);
 +        $this->assertContains('bob', $content['published_by']);
 +        $this->assertContains('helen', $content['published_by']);
      }
  
      public function testPostSameEntry()
  
      public function testDeleteEntriesTagsListAction()
      {
-         $entry = $this->client->getContainer()->get('doctrine.orm.entity_manager')
-             ->getRepository('WallabagCoreBundle:Entry')
-             ->findByUrlAndUserId('http://0.0.0.0/entry4', 1);
+         $em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
+         $entry = new Entry($em->getReference(User::class, 1));
+         $entry->setUrl('http://0.0.0.0/test-entry');
+         $entry->addTag((new Tag())->setLabel('foo-tag'));
+         $entry->addTag((new Tag())->setLabel('bar-tag'));
+         $em->persist($entry);
+         $em->flush();
  
-         $tags = $entry->getTags();
-         $this->assertCount(4, $tags);
+         $em->clear();
  
          $list = [
              [
-                 'url' => 'http://0.0.0.0/entry4',
-                 'tags' => 'new tag 1, new tag 2',
+                 'url' => 'http://0.0.0.0/test-entry',
+                 'tags' => 'foo-tag, bar-tag',
              ],
          ];
  
          $this->client->request('DELETE', '/api/entries/tags/list?list='.json_encode($list));
+         $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
+         $entry = $em->getRepository('WallabagCoreBundle:Entry')->find($entry->getId());
+         $this->assertCount(0, $entry->getTags());
      }
  
      public function testPostEntriesListAction()
  
      public function testDeleteEntriesListAction()
      {
+         $em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
+         $em->persist((new Entry($em->getReference(User::class, 1)))->setUrl('http://0.0.0.0/test-entry1'));
+         $em->flush();
+         $em->clear();
          $list = [
-             'http://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html',
-             'http://0.0.0.0/entry3',
+             'http://0.0.0.0/test-entry1',
+             'http://0.0.0.0/test-entry-not-exist',
          ];
  
          $this->client->request('DELETE', '/api/entries/list?urls='.json_encode($list));
          $content = json_decode($this->client->getResponse()->getContent(), true);
  
          $this->assertTrue($content[0]['entry']);
-         $this->assertEquals('http://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html', $content[0]['url']);
+         $this->assertEquals('http://0.0.0.0/test-entry1', $content[0]['url']);
  
          $this->assertFalse($content[1]['entry']);
-         $this->assertEquals('http://0.0.0.0/entry3', $content[1]['url']);
+         $this->assertEquals('http://0.0.0.0/test-entry-not-exist', $content[1]['url']);
      }
  
      public function testLimitBulkAction()