40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Slovocast\Tests\Domain\Repository;
|
|
|
|
use Slovocast\Domain\Repository\User\UserRepository;
|
|
use Slovocast\Infrastructure\Api\Database\DatabaseHandlerInterface;
|
|
use Slovocast\Infrastructure\User\BasicUserAuthorization;
|
|
use Slovocast\Tests\TestCase;
|
|
use Prophecy\Argument;
|
|
|
|
|
|
class UserRepositoryTest extends TestCase
|
|
{
|
|
public function testRegisteringAUser(): void
|
|
{
|
|
$user = $this->getUserFromArray();
|
|
$databaseHandler = $this->prophesize(DatabaseHandlerInterface::class);
|
|
|
|
$databaseHandler->insert(
|
|
Argument::type('string'),
|
|
Argument::type('array')
|
|
)->willReturn(true);
|
|
$databaseHandler->getConnection()->willReturn(new class {
|
|
public function lastInsertId(): int
|
|
{
|
|
return 100;
|
|
}
|
|
});
|
|
|
|
$userRepository = new UserRepository(
|
|
$databaseHandler->reveal(),
|
|
new BasicUserAuthorization()
|
|
);
|
|
|
|
$results = $userRepository->create($user);
|
|
$this->assertTrue($results);
|
|
$this->assertEquals(100, $user->getId());
|
|
}
|
|
}
|