We will be off from 27/1 (Monday) to 31/1 (Friday) (GMT +7) for our Tet Holiday (Lunar New Year) in our country

Commit f4397a13 authored by Ivan Chepurnyi's avatar Ivan Chepurnyi

Add shortcut for replaceByMock method into mock proxy, so less code needs to be written

parent 460f4a42
......@@ -24,6 +24,7 @@ use EcomDev_PHPUnit_Helper as TestHelper;
*
* @method EcomDev_PHPUnit_Mock_Proxy mockClassAlias(string $type, $classAlias, array $methods = array(), array $constructorArgs = array())
* @method EcomDev_PHPUnit_Mock_Proxy mockModel($classAlias, array $methods = array(), array $constructorArgs = array())
* @method EcomDev_PHPUnit_Mock_Proxy mockResourceModel($classAlias, array $methods = array(), array $constructorArgs = array())
* @method EcomDev_PHPUnit_Mock_Proxy mockBlock($classAlias, array $methods = array(), array $constructorArgs = array())
* @method EcomDev_PHPUnit_Mock_Proxy mockHelper($classAlias, array $methods = array(), array $constructorArgs = array())
* @method EcomDev_PHPUnit_Mock_Proxy mockSession($classAlias, array $methods = array())
......
......@@ -55,6 +55,21 @@ class EcomDev_PHPUnit_Test_Case_Helper_Mock extends EcomDev_PHPUnit_AbstractHelp
return $this->helperMockClassAlias('model', $classAlias, $methods, $constructorArgs);
}
/**
* Creates a mock for a resource model by its class alias
*
* @param string $classAlias
* @param array $methods
* @param array $constructorArgs
*
* @return EcomDev_PHPUnit_Mock_Proxy
*/
public function helperMockResourceModel($classAlias, array $methods = array(), array $constructorArgs = array())
{
return $this->helperMockClassAlias('resource_model', $classAlias, $methods, $constructorArgs);
}
/**
* Creates a mock for a block by its class alias
*
......
......@@ -501,7 +501,7 @@ class EcomDev_PHPUnit_Test_Case_Util
public static function getGroupedClassMockBuilder(PHPUnit_Framework_TestCase $testCase, $type, $classAlias)
{
$className = self::getGroupedClassName($type, $classAlias);
return new EcomDev_PHPUnit_Mock_Proxy($testCase, $className);
return new EcomDev_PHPUnit_Mock_Proxy($testCase, $className, $classAlias);
}
/**
......
......@@ -29,6 +29,26 @@ class EcomDev_PHPUnit_Mock_Proxy
{
protected $mockInstance;
/**
* Original mocked class alias
*
* @var string
*/
protected $classAlias;
/**
* Added class alias as property
*
* @param PHPUnit_Framework_TestCase $testCase
* @param array|string $type
* @param null $classAlias
*/
public function __construct(PHPUnit_Framework_TestCase $testCase, $type, $classAlias = null)
{
parent::__construct($testCase, $type);
$this->classAlias = $classAlias;
}
/**
* Adds method name to a mock builder
*
......@@ -113,6 +133,18 @@ class EcomDev_PHPUnit_Mock_Proxy
return $this->getMockInstance()->expects($matcher);
}
/**
* Invokes replaceByMock test util method with current mock object proxy instance
*
* @param $type
* @return $this
*/
public function replaceByMock($type)
{
EcomDev_PHPUnit_Test_Case_Util::replaceByMock($type, $this->classAlias, $this);
return $this;
}
/**
* Returns invocation mocker for
*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment