]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge remote-tracking branch 'origin/master' into 2.4
authorJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 27 May 2019 08:46:01 +0000 (10:46 +0200)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 27 May 2019 08:46:01 +0000 (10:46 +0200)
1  2 
tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php

index caa8929d1cc235c80043afc28f65199945ceb667,265e420509d85cb669cc387aeeabe7533e60c5d5..9dee989165c15d4b3ce8c40e5957d159f04293c5
@@@ -236,7 -236,7 +236,7 @@@ class EntryControllerTest extends Walla
          $this->logInAs('admin');
          $client = $this->getClient();
  
-         $url = 'http://www.aritylabs.com/post/106091708292/des-contr%C3%B4leurs-optionnels-gr%C3%A2ce-%C3%A0-constmissing';
+         $url = 'https://www.aritylabs.com/post/106091708292/des-contr%C3%B4leurs-optionnels-gr%C3%A2ce-%C3%A0-constmissing';
  
          $crawler = $client->request('GET', '/new');
  
  
          $crawler = $client->followRedirect();
  
 -        $this->assertGreaterThan(1, $title = $crawler->filter('div[id=article] h1')->extract(['_text']));
 +        $title = $crawler->filter('div[id=article] h1')->extract(['_text']);
 +        $this->assertGreaterThan(1, $title);
          $this->assertContains('My updated title hehe :)', $title[0]);
 -        $this->assertSame(1, \count($stats = $crawler->filter('div[class=tools] ul[class=stats] li a[class=tool]')->extract(['_text'])));
 +
 +        $stats = $crawler->filter('div[class=tools] ul[class=stats] li a[class=tool]')->extract(['_text']);
 +        $this->assertCount(1, $stats);
          $this->assertNotContains('example.io', trim($stats[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();
  
                  'http://www.hao123.com/shequ?__noscript__-=1',
                  'zh_CN',
              ],
 -            'ru' => [
 -                'https://www.kp.ru/daily/26879.7/3921982/',
 -                'ru',
 -            ],
              'pt_BR' => [
                  'https://politica.estadao.com.br/noticias/eleicoes,campanha-catatonica,70002491983',
                  'pt_BR',
  
          $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');
 +    }
  }