<?php
-namespace Wallabag\CoreBundle\Tests\Controller;
+namespace Wallabag\ApiBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
protected static $salt;
/**
- * Grab the salt once and store it to be available for all tests
+ * Grab the salt once and store it to be available for all tests.
*/
public static function setUpBeforeClass()
{
}
/**
- * Generate HTTP headers for authenticate user on API
+ * Generate HTTP headers for authenticate user on API.
*
* @param string $username
* @param string $password
$client = $this->createClient();
$headers = $this->generateHeaders('admin', 'mypassword');
+ $client->request('GET', '/api/entries', array('star' => 1, 'sort' => 'updated'), array(), $headers);
+
+ $this->assertEquals(200, $client->getResponse()->getStatusCode());
+
+ $content = json_decode($client->getResponse()->getContent(), true);
+
+ $this->assertGreaterThanOrEqual(1, count($content));
+ $this->assertNotEmpty($content['_embedded']['items']);
+ $this->assertGreaterThanOrEqual(1, $content['total']);
+ $this->assertEquals(1, $content['page']);
+ $this->assertGreaterThanOrEqual(1, $content['pages']);
+
+ $this->assertTrue(
+ $client->getResponse()->headers->contains(
+ 'Content-Type',
+ 'application/json'
+ )
+ );
+ }
+
+ public function testGetArchiveEntries()
+ {
+ $client = $this->createClient();
+ $headers = $this->generateHeaders('admin', 'mypassword');
+
$client->request('GET', '/api/entries', array('archive' => 1), array(), $headers);
$this->assertEquals(200, $client->getResponse()->getStatusCode());
$content = json_decode($client->getResponse()->getContent(), true);
$this->assertGreaterThanOrEqual(1, count($content));
- $this->assertEmpty($content['_embedded']['items']);
- $this->assertEquals(0, $content['total']);
+ $this->assertNotEmpty($content['_embedded']['items']);
+ $this->assertGreaterThanOrEqual(1, $content['total']);
$this->assertEquals(1, $content['page']);
- $this->assertEquals(1, $content['pages']);
+ $this->assertGreaterThanOrEqual(1, $content['pages']);
$this->assertTrue(
$client->getResponse()->headers->contains(
$content = json_decode($client->getResponse()->getContent(), true);
$this->assertArrayHasKey('tags', $content);
- $this->assertEquals($nbTags+3, count($content['tags']));
+ $this->assertEquals($nbTags + 3, count($content['tags']));
$entryDB = $client->getContainer()
->get('doctrine.orm.entity_manager')
$content = json_decode($client->getResponse()->getContent(), true);
$this->assertArrayHasKey('tags', $content);
- $this->assertEquals($nbTags-1, count($content['tags']));
+ $this->assertEquals($nbTags - 1, count($content['tags']));
}
public function testGetUserTags()