Call.php 1.91 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<?php
/**
 * PHP Unit test suite for Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 *
 * @category   EcomDev
 * @package    EcomDev_PHPUnit
 * @copyright  Copyright (c) 2013 EcomDev BV (http://www.ecomdev.org)
 * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 * @author     Ivan Chepurnyi <ivan.chepurnyi@ecomdev.org>
 */

class EcomDev_PHPUnitTest_Test_Helper_Call extends EcomDev_PHPUnit_Test_Case
{
    /**
22
     * @var EcomDev_PHPUnit_HelperInterface|PHPUnit_Framework_MockObject_MockObject
23 24 25 26 27 28 29 30
     */
    protected $helper;

    /**
     * Creates new helper for test
     */
    protected function setUp()
    {
31
        $this->helper = $this->getMockForAbstractClass('EcomDev_PHPUnit_HelperInterface');
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
        $this->helper->expects($this->any())
            ->method('invoke')
            ->with($this->equalTo('someCustomHelper'))
            ->will($this->returnSelf());

        $this->helper->expects($this->any())
            ->method('has')
            ->will($this->returnValueMap(array(
                array('someCustomHelper', true)
            )));

        EcomDev_PHPUnit_Helper::add($this->helper);
    }

    /**
     * Testing calling of helper via test case
     *
     */
    public function testCall()
    {
        $this->assertSame(
            $this->helper, $this->someCustomHelper()
        );
    }

    /**
     * @expectedException ErrorException
     * @expectedExceptionMessage Call to undefined function EcomDev_PHPUnitTest_Test_Helper_Call->unknownHelper()
     */
    public function testCallError()
    {
        $this->unknownHelper('');
    }

    public function tearDown()
    {
        EcomDev_PHPUnit_Helper::remove($this->helper);
    }
}