szuru/tests/Dao/FavoritesDaoTest.php

43 lines
1.4 KiB
PHP
Raw Permalink Normal View History

2014-09-27 21:33:31 +02:00
<?php
namespace Szurubooru\Tests\Dao;
use Szurubooru\Dao\FavoritesDao;
2015-11-25 11:39:32 +01:00
use Szurubooru\Dao\PostDao;
use Szurubooru\Dao\UserDao;
use Szurubooru\Entities\Favorite;
use Szurubooru\Entities\Post;
use Szurubooru\Entities\User;
2015-11-25 11:39:32 +01:00
use Szurubooru\Injector;
use Szurubooru\Services\TimeService;
use Szurubooru\Tests\AbstractDatabaseTestCase;
2014-09-27 21:33:31 +02:00
final class FavoritesDaoTest extends AbstractDatabaseTestCase
2014-09-27 21:33:31 +02:00
{
2015-11-25 09:48:03 +01:00
public function testSaving()
{
2015-11-25 11:39:32 +01:00
$userDao = Injector::get(UserDao::class);
$postDao = Injector::get(PostDao::class);
$timeServiceMock = $this->mock(TimeService::class);
$favoritesDao = new FavoritesDao(
$this->databaseConnection, $userDao, $postDao, $timeServiceMock);
2014-09-27 21:33:31 +02:00
2015-11-25 11:39:32 +01:00
$user = self::getTestUser('olivia');
$userDao->save($user);
$post = self::getTestPost();
$postDao->save($post);
2014-09-27 21:33:31 +02:00
2015-11-25 09:48:03 +01:00
$favorite = new Favorite();
$favorite->setUserId($user->getId());
$favorite->setPostId($post->getId());
$favorite->setTime(date('c'));
$favoritesDao->save($favorite);
2014-09-27 21:33:31 +02:00
2015-11-25 09:48:03 +01:00
$savedFavorite = $favoritesDao->findById($favorite->getId());
2015-11-25 11:39:32 +01:00
$this->assertNotNull($savedFavorite->getUserId());
$this->assertNotNull($savedFavorite->getPostId());
2015-11-25 09:48:03 +01:00
$this->assertEquals($favorite->getTime(), $savedFavorite->getTime());
2015-11-25 11:39:32 +01:00
$this->assertEntitiesEqual($user, $savedFavorite->getUser());
$this->assertEntitiesEqual($post, $savedFavorite->getPost());
2015-11-25 09:48:03 +01:00
}
2014-09-27 21:33:31 +02:00
}