<?php
namespace App\Tests\Api\Bookmark;
use App\Entity\Bookmark;
use App\Factory\BookmarkFactory;
use App\Tests\Support\ApiTester;
class BookmarkGetCest
{
protected static function expectedProperties(): array
{
return [
'id' => 'integer',
'name' => 'string',
'description' => 'string',
'creationDate' => 'string:date',
'isPublic' => 'boolean',
'url' => 'string:url',
];
}
public function getBookmarkDetail(ApiTester $I): void
{
$data = [
'name' => 'My bookmark',
'description' => 'Bookmark description',
'creationDate' => new \DateTimeImmutable('now'),
'isPublic' => true,
'url' => 'https://example.com/mybookmark#fragment',
];
BookmarkFactory::createOne($data);
$I->sendGet('/api/bookmarks/1');
$I->seeResponseCodeIsSuccessful();
$I->seeResponseIsJson();
$I->seeResponseIsAnEntity(Bookmark::class, '/api/bookmarks/1');
$data['creationDate'] = $data['creationDate']->format(\DateTimeInterface::W3C);
$I->seeResponseIsAnItem(self::expectedProperties(), $data);
}
}