mirror of
https://github.com/wallabag/wallabag.git
synced 2024-12-15 20:26:27 +00:00
Merge pull request #1066 from wallabag/v2-api-tests-entry
V2 api tests entry
This commit is contained in:
commit
8af35ad932
8 changed files with 91 additions and 8 deletions
|
@ -24,6 +24,11 @@
|
||||||
<arg value="doctrine:database:create"/>
|
<arg value="doctrine:database:create"/>
|
||||||
<arg value="--env=test"/>
|
<arg value="--env=test"/>
|
||||||
</exec>
|
</exec>
|
||||||
|
<exec executable="php">
|
||||||
|
<arg value="${basedir}/../app/console"/>
|
||||||
|
<arg value="doctrine:schema:create"/>
|
||||||
|
<arg value="--env=test"/>
|
||||||
|
</exec>
|
||||||
<exec executable="php">
|
<exec executable="php">
|
||||||
<arg value="${basedir}/../app/console"/>
|
<arg value="${basedir}/../app/console"/>
|
||||||
<arg value="cache:clear"/>
|
<arg value="cache:clear"/>
|
||||||
|
|
|
@ -23,8 +23,9 @@
|
||||||
<directory>../src</directory>
|
<directory>../src</directory>
|
||||||
<exclude>
|
<exclude>
|
||||||
<directory>../vendor</directory>
|
<directory>../vendor</directory>
|
||||||
<directory>../src/Acme</directory>
|
<directory>../src/Wallabag/CoreBundle/Resources</directory>
|
||||||
<directory>../src/AppBundle</directory>
|
<directory>../src/Wallabag/CoreBundle/Tests</directory>
|
||||||
|
<directory>../src/Wallabag/CoreBundle/DataFixtures</directory>
|
||||||
</exclude>
|
</exclude>
|
||||||
</whitelist>
|
</whitelist>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
top["bookmarklet-url@wallabag.org"]=""+"<!DOCTYPE html>"+"<html>"+"<head>"+"<title>bag it!</title>"+'<link rel="icon" href="tpl/img/favicon.ico" />'+"</head>"+"<body>"+"<script>"+"window.onload=function(){"+"window.setTimeout(function(){"+"history.back();"+"},250);"+"};"+"</scr"+"ipt>"+"</body>"+"</html>"
|
|
@ -1,3 +0,0 @@
|
||||||
<script type="text/javascript">
|
|
||||||
top["bookmarklet-url@wallabag.org"]=""+"<!DOCTYPE html>"+"<html>"+"<head>"+"<title>bag it!</title>"+'<link rel="icon" href="tpl/img/favicon.ico" />'+"</head>"+"<body>"+"<script>"+"window.onload=function(){"+"window.setTimeout(function(){"+"history.back();"+"},250);"+"};"+"</scr"+"ipt>"+"</body>"+"</html>"
|
|
||||||
</script>
|
|
|
@ -37,3 +37,4 @@
|
||||||
<script src="{{ asset('themes/_global/js/saveLink.js') }}"></script>
|
<script src="{{ asset('themes/_global/js/saveLink.js') }}"></script>
|
||||||
<script src="{{ asset('themes/_global/js/popupForm.js') }}"></script>
|
<script src="{{ asset('themes/_global/js/popupForm.js') }}"></script>
|
||||||
<script src="{{ asset('themes/baggy/js/closeMessage.js') }}"></script>
|
<script src="{{ asset('themes/baggy/js/closeMessage.js') }}"></script>
|
||||||
|
<script src="{{ asset('bundles/wallabagcore/js/bookmarklet.js') }}"></script>
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
<title>{% block title %}{% endblock %} - wallabag</title>
|
<title>{% block title %}{% endblock %} - wallabag</title>
|
||||||
{% include "WallabagCoreBundle::_head.html.twig" %}
|
{% include "WallabagCoreBundle::_head.html.twig" %}
|
||||||
{% include "WallabagCoreBundle::_bookmarklet.html.twig" %}
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% include "WallabagCoreBundle::_top.html.twig" %}
|
{% include "WallabagCoreBundle::_top.html.twig" %}
|
||||||
|
|
|
@ -10,7 +10,7 @@ final class Extractor
|
||||||
public static function extract($url)
|
public static function extract($url)
|
||||||
{
|
{
|
||||||
$pageContent = Extractor::getPageContent(new Url(base64_encode($url)));
|
$pageContent = Extractor::getPageContent(new Url(base64_encode($url)));
|
||||||
$title = ($pageContent['rss']['channel']['item']['title'] != '') ? $pageContent['rss']['channel']['item']['title'] : _('Untitled');
|
$title = $pageContent['rss']['channel']['item']['title'] ?: 'Untitled';
|
||||||
$body = $pageContent['rss']['channel']['item']['description'];
|
$body = $pageContent['rss']['channel']['item']['description'];
|
||||||
|
|
||||||
$content = new Content();
|
$content = new Content();
|
||||||
|
@ -19,6 +19,7 @@ final class Extractor
|
||||||
|
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the content for a given URL (by a call to FullTextFeed)
|
* Get the content for a given URL (by a call to FullTextFeed)
|
||||||
*
|
*
|
||||||
|
|
|
@ -6,12 +6,89 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
||||||
|
|
||||||
class EntryControllerTest extends WebTestCase
|
class EntryControllerTest extends WebTestCase
|
||||||
{
|
{
|
||||||
public function testIndex()
|
public function testGetNew()
|
||||||
{
|
{
|
||||||
$client = static::createClient();
|
$client = static::createClient();
|
||||||
|
|
||||||
$crawler = $client->request('GET', '/new');
|
$crawler = $client->request('GET', '/new');
|
||||||
|
|
||||||
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
$this->assertCount(1, $crawler->filter('input[type=url]'));
|
||||||
|
$this->assertCount(1, $crawler->filter('button[type=submit]'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPostNewEmpty()
|
||||||
|
{
|
||||||
|
$client = static::createClient();
|
||||||
|
|
||||||
|
$crawler = $client->request('GET', '/new');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
$form = $crawler->filter('button[type=submit]')->form();
|
||||||
|
|
||||||
|
$crawler = $client->submit($form);
|
||||||
|
|
||||||
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
$this->assertCount(1, $alert = $crawler->filter('form ul li')->extract(array('_text')));
|
||||||
|
$this->assertEquals('This value should not be blank.', $alert[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPostNewOk()
|
||||||
|
{
|
||||||
|
$client = static::createClient();
|
||||||
|
|
||||||
|
$crawler = $client->request('GET', '/new');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
$form = $crawler->filter('button[type=submit]')->form();
|
||||||
|
|
||||||
|
$data = array(
|
||||||
|
'form[url]' => 'https://www.mailjet.com/blog/mailjet-zapier-integrations-made-easy/',
|
||||||
|
);
|
||||||
|
|
||||||
|
$client->submit($form, $data);
|
||||||
|
|
||||||
|
$this->assertEquals(302, $client->getResponse()->getStatusCode());
|
||||||
|
|
||||||
|
$crawler = $client->followRedirect();
|
||||||
|
|
||||||
|
$this->assertCount(1, $alert = $crawler->filter('h2 a')->extract(array('_text')));
|
||||||
|
$this->assertContains('Mailjet', $alert[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testArchive()
|
||||||
|
{
|
||||||
|
$client = static::createClient();
|
||||||
|
|
||||||
|
$crawler = $client->request('GET', '/archive');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testStarred()
|
||||||
|
{
|
||||||
|
$client = static::createClient();
|
||||||
|
|
||||||
|
$crawler = $client->request('GET', '/starred');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testView()
|
||||||
|
{
|
||||||
|
$client = static::createClient();
|
||||||
|
|
||||||
|
$content = $client->getContainer()
|
||||||
|
->get('doctrine.orm.entity_manager')
|
||||||
|
->getRepository('WallabagCoreBundle:Entry')
|
||||||
|
->findOneByIsArchived(false);
|
||||||
|
|
||||||
|
$crawler = $client->request('GET', '/view/'.$content->getId());
|
||||||
|
|
||||||
|
$this->assertEquals(200, $client->getResponse()->getStatusCode());
|
||||||
|
$this->assertContains($content->getTitle(), $client->getResponse()->getContent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue