2015-10-09 14:34:55 -04:00
|
|
|
<?php
|
2017-02-15 11:49:38 -05:00
|
|
|
|
|
|
|
namespace Aviat\AnimeClient\Tests;
|
|
|
|
|
2015-10-09 14:34:55 -04:00
|
|
|
use Aviat\AnimeClient\MenuGenerator;
|
2016-10-20 22:32:17 -04:00
|
|
|
use Aviat\Ion\Friend;
|
2015-10-09 14:34:55 -04:00
|
|
|
|
2017-02-15 16:40:18 -05:00
|
|
|
class MenuGeneratorTest extends AnimeClientTestCase {
|
2015-10-09 14:34:55 -04:00
|
|
|
|
|
|
|
protected $generator;
|
|
|
|
protected $friend;
|
|
|
|
|
|
|
|
public function setUp()
|
|
|
|
{
|
|
|
|
parent::setUp();
|
|
|
|
$this->generator = new MenuGenerator($this->container);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testSanity()
|
|
|
|
{
|
|
|
|
$generator = new MenuGenerator($this->container);
|
|
|
|
$this->assertInstanceOf('Aviat\AnimeClient\MenuGenerator', $generator);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testParseConfig()
|
|
|
|
{
|
|
|
|
$friend = new Friend($this->generator);
|
2015-10-15 09:25:30 -04:00
|
|
|
$menus = [
|
|
|
|
'anime_list' => [
|
|
|
|
'route_prefix' => '/anime',
|
|
|
|
'items' => [
|
|
|
|
'watching' => '/watching',
|
|
|
|
'plan_to_watch' => '/plan_to_watch',
|
|
|
|
'on_hold' => '/on_hold',
|
|
|
|
'dropped' => '/dropped',
|
|
|
|
'completed' => '/completed',
|
|
|
|
'all' => '/all'
|
|
|
|
]
|
|
|
|
],
|
|
|
|
];
|
2015-10-09 14:34:55 -04:00
|
|
|
$expected = [
|
|
|
|
'anime_list' => [
|
|
|
|
'Watching' => '/anime/watching',
|
|
|
|
'Plan To Watch' => '/anime/plan_to_watch',
|
|
|
|
'On Hold' => '/anime/on_hold',
|
|
|
|
'Dropped' => '/anime/dropped',
|
|
|
|
'Completed' => '/anime/completed',
|
|
|
|
'All' => '/anime/all'
|
|
|
|
]
|
|
|
|
];
|
2015-10-15 09:25:30 -04:00
|
|
|
$this->assertEquals($expected, $friend->parse_config($menus));
|
2015-10-09 14:34:55 -04:00
|
|
|
}
|
2015-11-17 16:45:41 -05:00
|
|
|
|
|
|
|
public function testBadConfig()
|
|
|
|
{
|
|
|
|
$menus = [
|
|
|
|
'anime_list' => [
|
|
|
|
'route_prefix' => '/anime',
|
|
|
|
'items' => [
|
|
|
|
'watching' => '/watching',
|
|
|
|
'plan_to_watch' => '/plan_to_watch',
|
|
|
|
'on_hold' => '/on_hold',
|
|
|
|
'dropped' => '/dropped',
|
|
|
|
'completed' => '/completed',
|
|
|
|
'all' => '/all'
|
|
|
|
]
|
|
|
|
],
|
|
|
|
];
|
|
|
|
$config = $this->container->get('config');
|
|
|
|
$config->set('menus', $menus);
|
2016-08-29 15:36:36 -04:00
|
|
|
$this->container->setInstance('config', $config);
|
2015-11-17 16:45:41 -05:00
|
|
|
$expected = '';
|
|
|
|
|
|
|
|
$this->assertEquals($expected, $this->generator->generate('manga_list'));
|
|
|
|
}
|
2015-10-09 14:34:55 -04:00
|
|
|
}
|