Added basic unit tests
This commit is contained in:
parent
6623780cf8
commit
1c100bbac0
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Test\src\Contact\FriendSuggest\Factory;
|
||||
|
||||
use Friendica\Contact\FriendSuggest\Factory\FriendSuggest;
|
||||
use Friendica\Contact\FriendSuggest\Entity;
|
||||
use Friendica\Test\MockedTest;
|
||||
use Friendica\Util\Logger\VoidLogger;
|
||||
|
||||
class FriendSuggestTest extends MockedTest
|
||||
{
|
||||
public function dataCreate()
|
||||
{
|
||||
return [
|
||||
'default' => [
|
||||
'input' => [
|
||||
'uid' => 12,
|
||||
'cid' => 13,
|
||||
'name' => 'test',
|
||||
'url' => 'https://friendica.local/profile/test',
|
||||
'request' => 'https://friendica.local/dfrn_request/test',
|
||||
'photo' => 'https://friendica.local/photo/profile/test',
|
||||
'note' => 'a common note',
|
||||
'created' => '2021-10-12 12:23:00'
|
||||
],
|
||||
'assertion' => [
|
||||
'uid' => 12,
|
||||
'cid' => 13,
|
||||
'name' => 'test',
|
||||
'url' => 'https://friendica.local/profile/test',
|
||||
'request' => 'https://friendica.local/dfrn_request/test',
|
||||
'photo' => 'https://friendica.local/photo/profile/test',
|
||||
'note' => 'a common note',
|
||||
'created' => new \DateTime('2021-10-12 12:23:00', new \DateTimeZone('UTC')),
|
||||
'id' => null,
|
||||
],
|
||||
],
|
||||
'minimum' => [
|
||||
'input' => [
|
||||
'id' => 20,
|
||||
],
|
||||
'assertion' => [
|
||||
'id' => 20,
|
||||
]
|
||||
],
|
||||
'full' => [
|
||||
'input' => [
|
||||
'uid' => 12,
|
||||
'cid' => 13,
|
||||
'name' => 'test',
|
||||
'url' => 'https://friendica.local/profile/test',
|
||||
'request' => 'https://friendica.local/dfrn_request/test',
|
||||
'photo' => 'https://friendica.local/photo/profile/test',
|
||||
'note' => 'a common note',
|
||||
'created' => '2021-10-12 12:23:00',
|
||||
'id' => 666,
|
||||
],
|
||||
'assertion' => [
|
||||
'uid' => 12,
|
||||
'cid' => 13,
|
||||
'name' => 'test',
|
||||
'url' => 'https://friendica.local/profile/test',
|
||||
'request' => 'https://friendica.local/dfrn_request/test',
|
||||
'photo' => 'https://friendica.local/photo/profile/test',
|
||||
'note' => 'a common note',
|
||||
'created' => new \DateTime('2021-10-12 12:23:00', new \DateTimeZone('UTC')),
|
||||
'id' => 666,
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function assertFriendSuggest(Entity\FriendSuggest $friendSuggest, array $assertion)
|
||||
{
|
||||
self::assertEquals($assertion['id'] ?? null, $friendSuggest->id);
|
||||
self::assertEquals($assertion['uid'] ?? 0, $friendSuggest->uid);
|
||||
self::assertEquals($assertion['cid'] ?? 0, $friendSuggest->cid);
|
||||
self::assertEquals($assertion['name'] ?? '', $friendSuggest->name);
|
||||
self::assertEquals($assertion['url'] ?? '', $friendSuggest->url);
|
||||
self::assertEquals($assertion['request'] ?? '', $friendSuggest->request);
|
||||
self::assertEquals($assertion['photo'] ?? '', $friendSuggest->photo);
|
||||
self::assertEquals($assertion['note'] ?? '', $friendSuggest->note);
|
||||
if (empty($assertion['created'])) {
|
||||
self::assertInstanceOf(\DateTime::class, $friendSuggest->created);
|
||||
} else {
|
||||
self::assertEquals($assertion['created'], $friendSuggest->created);
|
||||
}
|
||||
}
|
||||
|
||||
public function testCreateNew()
|
||||
{
|
||||
$factory = new FriendSuggest(new VoidLogger());
|
||||
|
||||
$this->assertFriendSuggest($factory->createNew(12, 13), ['uid' => 12, 'cid' => 13]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider dataCreate
|
||||
*/
|
||||
public function testCreateFromTableRow(array $input, array $assertion)
|
||||
{
|
||||
$factory = new FriendSuggest(new VoidLogger());
|
||||
|
||||
$this->assertFriendSuggest($factory->createFromTableRow($input), $assertion);
|
||||
}
|
||||
|
||||
public function testCreateEmpty()
|
||||
{
|
||||
$factory = new FriendSuggest(new VoidLogger());
|
||||
|
||||
$this->assertFriendSuggest($factory->createEmpty(66), ['id' => 66]);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user