forked from techdivision/TechDivision_MagentoUnitTesting
-
Notifications
You must be signed in to change notification settings - Fork 0
Example mocking Mage getBlockSingleton
Vadim Justus edited this page Jun 30, 2014
·
2 revisions
Code you want to test
<?php
class MyCompany_MyModule_Model_Example_Mocking
{
public function doSomething()
{
/** @var MyCompany_MyModule_Block_Something $block */
$block = Mage::getBlockSingleton('mycompany_mymodule/something')
return $block;
}
}
Test implementation
<?php
class MyCompany_MyModule_Unit_Model_Example_MockingTest
extends TechDivision_MagentoUnitTesting_TestCase_Model
{
/**
* @var string
*/
protected $_testClassName = 'MyCompany_MyModule_Model_Example_Mocking';
/**
* @var MyCompany_MyModule_Model_Example_Mocking
*/
protected $_instance;
public function testDoSomething()
{
// Build a mock object and register it for the
// Mage::getBlockSingleton() method with the correct key
$block = $this->buildMock('MyCompany_MyModule_Block_Something');
$this->addMageBlockSingleton('mycompany_mymodule/something', $block);
$result = $this->_instance->doSomething();
$this->assertSame($block, $result);
}
}