phpmyadmin/test/classes/Navigation/NodeFactoryTest.php
William Desportes 49a6d6e8d0
Use AbstractTestCase instead of PmaTestCase for all tests not needing mockResponse
Signed-off-by: William Desportes <williamdes@wdes.fr>
2020-05-22 01:45:50 +02:00

98 lines
2.2 KiB
PHP

<?php
/**
* Tests for NodeFactory class
*/
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Navigation;
use PhpMyAdmin\Navigation\NodeFactory;
use PhpMyAdmin\Navigation\Nodes\Node;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\Exception;
/**
* Tests for NodeFactory class
*/
class NodeFactoryTest extends AbstractTestCase
{
/**
* SetUp for test cases
*/
protected function setUp(): void
{
parent::setUp();
$GLOBALS['server'] = 0;
}
/**
* Test for PhpMyAdmin\Navigation\NodeFactory::getInstance
*
* @return void
*/
public function testDefaultNode()
{
$node = NodeFactory::getInstance();
$this->assertEquals('default', $node->name);
$this->assertEquals(Node::OBJECT, $node->type);
$this->assertEquals(false, $node->isGroup);
}
/**
* Test for PhpMyAdmin\Navigation\NodeFactory::getInstance
*
* @return void
*/
public function testDefaultContainer()
{
$node = NodeFactory::getInstance(
'Node',
'default',
Node::CONTAINER
);
$this->assertEquals('default', $node->name);
$this->assertEquals(Node::CONTAINER, $node->type);
$this->assertEquals(false, $node->isGroup);
}
/**
* Test for PhpMyAdmin\Navigation\NodeFactory::getInstance
*
* @return void
*/
public function testGroupContainer()
{
$node = NodeFactory::getInstance(
'Node',
'default',
Node::CONTAINER,
true
);
$this->assertEquals('default', $node->name);
$this->assertEquals(Node::CONTAINER, $node->type);
$this->assertEquals(true, $node->isGroup);
}
/**
* Test for PhpMyAdmin\Navigation\NodeFactory::getInstance
*
* @return void
*/
public function testFileError()
{
$this->expectException(Exception::class);
NodeFactory::getInstance('NodeDoesNotExist');
}
/**
* Test for PhpMyAdmin\Navigation\NodeFactory::getInstance
*
* @return void
*/
public function testClassNameError()
{
$this->expectException(Exception::class);
NodeFactory::getInstance('Invalid');
}
}