mirror of https://github.com/hauke68/Magallanes
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
<?php |
|
|
|
namespace MageTest\Command; |
|
|
|
use Mage\Command\Factory; |
|
use PHPUnit_Framework_TestCase; |
|
|
|
/** |
|
* @group Mage_Command |
|
* @group Mage_Command_Factory |
|
* |
|
* @group issue-167 |
|
*/ |
|
class FactoryTest extends PHPUnit_Framework_TestCase |
|
{ |
|
private $config; |
|
|
|
protected function setUp() |
|
{ |
|
$this->config = $this->getMock('Mage\Config'); |
|
} |
|
|
|
public function testGet() |
|
{ |
|
$command = Factory::get('add', $this->config); |
|
$this->assertInstanceOf('Mage\\Command\\BuiltIn\\AddCommand', $command); |
|
} |
|
|
|
/** |
|
* @expectedException \Exception |
|
*/ |
|
public function testGetClassNotFoundException() |
|
{ |
|
$command = Factory::get('commanddoesntexist', $this->config); |
|
} |
|
|
|
public function testGetCustomCommand() |
|
{ |
|
$this->getMockBuilder('Mage\\Command\\AbstractCommand') |
|
->setMockClassName('MyCommand') |
|
->getMock(); |
|
|
|
/** |
|
* current workaround |
|
* @link https://github.com/sebastianbergmann/phpunit-mock-objects/issues/134 |
|
*/ |
|
class_alias('MyCommand', 'Command\\MyCommand'); |
|
|
|
$command = Factory::get('my-command', $this->config); |
|
$this->assertInstanceOf('Command\\MyCommand', $command); |
|
} |
|
|
|
/** |
|
* @expectedException \Exception |
|
* @expectedExceptionMessage The command MyInconsistentCommand must be an instance of Mage\Command\AbstractCommand. |
|
*/ |
|
public function testGetInconsistencyException() |
|
{ |
|
$this->getMock('Command\\MyInconsistentCommand'); |
|
|
|
$command = Factory::get('my-inconsistent-command', $this->config); |
|
} |
|
}
|
|
|