namespace Shaarli\Api;
+use Shaarli\Bookmark\Bookmark;
use Shaarli\Http\Base64Url;
/**
* Class ApiUtilsTest
*/
-class ApiUtilsTest extends \PHPUnit_Framework_TestCase
+class ApiUtilsTest extends \PHPUnit\Framework\TestCase
{
/**
* Force the timezone for ISO datetimes.
public function testValidateJwtTokenValid()
{
$secret = 'WarIsPeace';
- ApiUtils::validateJwtToken(self::generateValidJwtToken($secret), $secret);
+ $this->assertTrue(ApiUtils::validateJwtToken(self::generateValidJwtToken($secret), $secret));
}
/**
public function testFormatLinkComplete()
{
$indexUrl = 'https://domain.tld/sub/';
- $link = [
+ $data = [
'id' => 12,
'url' => 'http://lol.lol',
'shorturl' => 'abc',
'created' => \DateTime::createFromFormat('Ymd_His', '20170107_160102'),
'updated' => \DateTime::createFromFormat('Ymd_His', '20170107_160612'),
];
+ $bookmark = new Bookmark();
+ $bookmark->fromArray($data);
$expected = [
'id' => 12,
'updated' => '2017-01-07T16:06:12+00:00',
];
- $this->assertEquals($expected, ApiUtils::formatLink($link, $indexUrl));
+ $this->assertEquals($expected, ApiUtils::formatLink($bookmark, $indexUrl));
}
/**
public function testFormatLinkMinimalNote()
{
$indexUrl = 'https://domain.tld/sub/';
- $link = [
+ $data = [
'id' => 12,
'url' => '?abc',
'shorturl' => 'abc',
'private' => '',
'created' => \DateTime::createFromFormat('Ymd_His', '20170107_160102'),
];
+ $bookmark = new Bookmark();
+ $bookmark->fromArray($data);
$expected = [
'id' => 12,
'updated' => '',
];
- $this->assertEquals($expected, ApiUtils::formatLink($link, $indexUrl));
+ $this->assertEquals($expected, ApiUtils::formatLink($bookmark, $indexUrl));
}
/**
public function testUpdateLink()
{
$created = \DateTime::createFromFormat('Ymd_His', '20170107_160102');
- $old = [
+ $data = [
'id' => 12,
'url' => '?abc',
'shorturl' => 'abc',
'private' => '',
'created' => $created,
];
+ $old = new Bookmark();
+ $old->fromArray($data);
- $new = [
+ $data = [
'id' => 13,
'shorturl' => 'nope',
'url' => 'http://somewhere.else',
'created' => 'creation',
'updated' => 'updation',
];
+ $new = new Bookmark();
+ $new->fromArray($data);
$result = ApiUtils::updateLink($old, $new);
- $this->assertEquals(12, $result['id']);
- $this->assertEquals('http://somewhere.else', $result['url']);
- $this->assertEquals('abc', $result['shorturl']);
- $this->assertEquals('Le Cid', $result['title']);
- $this->assertEquals('Percé jusques au fond du cœur [...]', $result['description']);
- $this->assertEquals('corneille rodrigue', $result['tags']);
- $this->assertEquals(true, $result['private']);
- $this->assertEquals($created, $result['created']);
- $this->assertTrue(new \DateTime('5 seconds ago') < $result['updated']);
+ $this->assertEquals(12, $result->getId());
+ $this->assertEquals('http://somewhere.else', $result->getUrl());
+ $this->assertEquals('abc', $result->getShortUrl());
+ $this->assertEquals('Le Cid', $result->getTitle());
+ $this->assertEquals('Percé jusques au fond du cœur [...]', $result->getDescription());
+ $this->assertEquals('corneille rodrigue', $result->getTagsString());
+ $this->assertEquals(true, $result->isPrivate());
+ $this->assertEquals($created, $result->getCreated());
}
/**
public function testUpdateLinkMinimal()
{
$created = \DateTime::createFromFormat('Ymd_His', '20170107_160102');
- $old = [
+ $data = [
'id' => 12,
'url' => '?abc',
'shorturl' => 'abc',
'private' => true,
'created' => $created,
];
+ $old = new Bookmark();
+ $old->fromArray($data);
- $new = [
- 'url' => '',
- 'title' => '',
- 'description' => '',
- 'tags' => '',
- 'private' => false,
- ];
+ $new = new Bookmark();
$result = ApiUtils::updateLink($old, $new);
- $this->assertEquals(12, $result['id']);
- $this->assertEquals('?abc', $result['url']);
- $this->assertEquals('abc', $result['shorturl']);
- $this->assertEquals('?abc', $result['title']);
- $this->assertEquals('', $result['description']);
- $this->assertEquals('', $result['tags']);
- $this->assertEquals(false, $result['private']);
- $this->assertEquals($created, $result['created']);
- $this->assertTrue(new \DateTime('5 seconds ago') < $result['updated']);
+ $this->assertEquals(12, $result->getId());
+ $this->assertEquals('', $result->getUrl());
+ $this->assertEquals('abc', $result->getShortUrl());
+ $this->assertEquals('', $result->getTitle());
+ $this->assertEquals('', $result->getDescription());
+ $this->assertEquals('', $result->getTagsString());
+ $this->assertEquals(false, $result->isPrivate());
+ $this->assertEquals($created, $result->getCreated());
}
}