fp/fumocker

A php function mocker

1.0.0 2012-03-05 08:25 UTC

This package is auto-updated.

Last update: 2024-04-06 23:12:07 UTC


README

Are you wonna mock mail function?

<?php

class FooTestCase extends \PHPUnit_Framework_TestCase
{
    /**
     * @var Fumocker\Fumocker
     */
    protected $fumocker;

    public function setUp()
    {
        $this->fumocker = new \Fumocker\Fumocker;
    }

    public function tearDown()
    {
        $this->fumocker->cleanup();
    }

    public function testMailNeverCalled()
    {
        /**
         * @var $mock \PHPUnit_Framework_MockObject_MockObject
         */
        $mock = $this->fumocker->getMock('Namespace\Where\Tested\Class\Is', 'mail');
        $mock
            ->expects($this->never())
            ->method('mail')
        ;

        //test your Namespace\Where\Tested\Class\Is\Foo
    }


    public function testMailSendToAdminWithStatisticSubject()
    {
        $expectedEmailTo = 'admin@example.com';

        /**
         * @var $mock \PHPUnit_Framework_MockObject_MockObject
         */
        $mock = $this->fumocker->getMock('Namespace\Where\Tested\Class\Is', 'mail');
        $mock
            ->expects($this->once())
            ->method('mail')
            ->with(
                $this->equalTo($expectedEmailTo),
                $this->equalTo('Statisitic of money earned by a week')
            )
        ;

        //test your Namespace\Where\Tested\Class\Is\Foo
    }


    public function testRealMailSend()
    {
        /**
         * Dont do a mock and real function will be called
         */
    }
}