HummingBirdAnimeClient/tests/ControllerTest.php

96 lines
2.2 KiB
PHP
Raw Normal View History

2017-01-12 15:41:20 -05:00
<?php declare(strict_types=1);
/**
* Hummingbird Anime List Client
*
2018-08-22 13:48:27 -04:00
* An API client for Kitsu to manage anime and manga watch lists
*
2019-12-03 15:17:25 -05:00
* PHP version 7.2
*
* @package HummingbirdAnimeClient
* @author Timothy J. Warren <tim@timshomepage.net>
2018-01-15 14:43:15 -05:00
* @copyright 2015 - 2018 Timothy J. Warren
* @license http://www.opensource.org/licenses/mit-license.html MIT License
2018-10-01 11:35:51 -04:00
* @version 4.1
* @link https://git.timshomepage.net/timw4mail/HummingBirdAnimeClient
*/
2017-02-15 11:49:38 -05:00
namespace Aviat\AnimeClient\Tests;
2016-10-20 22:32:17 -04:00
use Aura\Router\RouterFactory;
use Aura\Web\WebFactory;
use Aviat\AnimeClient\Controller;
2017-01-12 15:41:20 -05:00
use Aviat\AnimeClient\Controller\{
Anime as AnimeController,
2017-03-24 09:58:27 -04:00
Character as CharacterController,
AnimeCollection as AnimeCollectionController,
MangaCollection as MangaCollectionController,
2017-01-12 15:41:20 -05:00
Manga as MangaController
};
2017-02-15 16:40:18 -05:00
class ControllerTest extends AnimeClientTestCase {
2017-03-24 09:58:27 -04:00
2017-02-22 15:08:29 -05:00
protected $BaseController;
public function setUp()
{
parent::setUp();
// Create Request/Response Objects
$_SERVER['HTTP_REFERER'] = '';
$this->setSuperGlobals([
'_GET' => [],
'_POST' => [],
'_COOKIE' => [],
'_SERVER' => $_SERVER,
'_FILES' => []
]);
2015-10-15 09:25:30 -04:00
$this->BaseController = new Controller($this->container);
}
2015-10-15 09:25:30 -04:00
public function testControllersSanity()
{
$config = $this->container->get('config');
2018-10-05 14:32:05 -04:00
$config->set('database', [
2015-10-15 09:25:30 -04:00
'type' => 'sqlite',
'database' => '',
'file' => ":memory:"
]);
$this->container->setInstance('config', $config);
2015-10-15 09:25:30 -04:00
$this->assertInstanceOf(
Controller::class,
2015-10-15 09:25:30 -04:00
new AnimeController($this->container)
);
$this->assertInstanceOf(
Controller::class,
2015-10-15 09:25:30 -04:00
new MangaController($this->container)
);
2017-03-24 09:58:27 -04:00
$this->assertInstanceOf(
Controller::class,
2017-03-24 09:58:27 -04:00
new CharacterController($this->container)
);
2015-10-15 09:25:30 -04:00
$this->assertInstanceOf(
Controller::class,
new AnimeCollectionController($this->container)
);
$this->assertInstanceOf(
Controller::class,
new MangaCollectionController($this->container)
2015-10-15 09:25:30 -04:00
);
}
public function testBaseControllerSanity()
{
$this->assertTrue(\is_object($this->BaseController));
}
public function testFormatTitle()
{
$this->assertEquals(
$this->BaseController->formatTitle('foo', 'bar', 'baz'),
'foo &middot; bar &middot; baz'
);
}
}