mirror of
				https://github.com/hauke68/Magallanes.git
				synced 2025-11-04 00:50:18 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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);
 | 
						|
    }
 | 
						|
}
 |