cs & tests for wllbg v1 import

This commit is contained in:
Thomas Citharel 2016-02-13 16:20:00 +01:00 committed by Jeremy Benoist
parent c10fcb3bbb
commit c32ae320fe
7 changed files with 122 additions and 5 deletions

View file

@ -5,11 +5,9 @@ namespace Wallabag\ImportBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Wallabag\ImportBundle\Import\PocketImport;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
class PocketController extends Controller
{
/**
@ -24,7 +22,6 @@ class PocketController extends Controller
'required' => false,
))
->getForm();
;
return $this->render('WallabagImportBundle:Pocket:index.html.twig', [
'import' => $this->get('wallabag_import.pocket.import'),

View file

@ -124,7 +124,6 @@ class PocketImport implements ImportInterface
return true;
}
/**
* Set whether articles must be all marked as read.
*

View file

@ -128,7 +128,6 @@ class WallabagV1Import implements ImportInterface
*/
public function setMarkAsRead($markAsRead)
{
var_dump($markAsRead);
$this->markAsRead = $markAsRead;
return $this;

View file

@ -58,6 +58,51 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
$this->assertContains('Import summary', $alert[0]);
}
public function testImportWallabagWithFileAndMarkAllAsRead()
{
$this->logInAs('admin');
$client = $this->getClient();
$crawler = $client->request('GET', '/import/wallabag-v1');
$form = $crawler->filter('form[name=upload_import_file] > button[type=submit]')->form();
$file = new UploadedFile(__DIR__.'/../fixtures/wallabag-v1-read.json', 'wallabag-v1-read.json');
$data = array(
'upload_import_file[file]' => $file,
'upload_import_file[mark_as_read]' => 1,
);
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
$crawler = $client->followRedirect();
$content1 = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId(
'http://gilbert.pellegrom.me/recreating-the-square-slider',
$this->getLoggedInUserId()
);
$this->assertTrue($content1->isArchived());
$content2 = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId(
'https://www.wallabag.org/features/',
$this->getLoggedInUserId()
);
$this->assertTrue($content2->isArchived());
$this->assertGreaterThan(1, $alert = $crawler->filter('div.messages.success')->extract(array('_text')));
$this->assertContains('Import summary', $alert[0]);
}
public function testImportWallabagWithEmptyFile()
{
$this->logInAs('admin');

View file

@ -72,6 +72,36 @@ class WallabagV2ImportTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(['skipped' => 1, 'imported' => 2], $wallabagV2Import->getSummary());
}
public function testImportAndMarkAllAsRead()
{
$wallabagV2Import = $this->getWallabagV2Import();
$wallabagV2Import->setFilepath(__DIR__.'/../fixtures/wallabag-v2-read.json');
$entryRepo = $this->getMockBuilder('Wallabag\CoreBundle\Repository\EntryRepository')
->disableOriginalConstructor()
->getMock();
$entryRepo->expects($this->exactly(2))
->method('findByUrlAndUserId')
->will($this->onConsecutiveCalls(false, false));
$this->em
->expects($this->any())
->method('getRepository')
->willReturn($entryRepo);
$res = $wallabagV2Import->setMarkAsRead(true)->import();
$this->assertTrue($res);
$this->em
->expects($this->any())
->method('getBuilderForArchiveByUser')
->willReturn($entryRepo);
$this->assertEquals(['skipped' => 0, 'imported' => 2], $wallabagV2Import->getSummary());
}
public function testImportBadFile()
{
$wallabagV1Import = $this->getWallabagV2Import();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long