PHP code example of polishsymfonycommunity / symfony-mocker-container
1. Go to this page and download the library: Download polishsymfonycommunity/symfony-mocker-container library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
polishsymfonycommunity / symfony-mocker-container example snippets
/**
* @return string
*/
protected function getContainerBaseClass()
{
if ('test' == $this->environment) {
return '\PSS\SymfonyMockerContainer\DependencyInjection\MockerContainer';
}
return parent::getContainerBaseClass();
}
namespace PSS\Features\Context;
use Behat\Behat\Context\BehatContext;
use Behat\Symfony2Extension\Context\KernelAwareInterface;
use Symfony\Component\HttpKernel\KernelInterface;
class AcmeContext extends BehatContext implements KernelAwareInterface
{
/**
* @var \Symfony\Component\HttpKernel\KernelInterface $kernel
*/
private $kernel = null;
/**
* @param \Symfony\Component\HttpKernel\KernelInterface $kernel
*
* @return null
*/
public function setKernel(KernelInterface $kernel)
{
$this->kernel = $kernel;
}
/**
* @Given /^CRM API is available$/
*
* @return null
*/
public function crmApiIsAvailable()
{
$this->kernel->getContainer()
->mock('crm.client', 'PSS\Crm\Client')
->shouldReceive('send')
->once()
->andReturn(true);
}
/**
* @AfterScenario
*
* @return null
*/
public function verifyPendingExpectations()
{
\Mockery::close();
}
}
namespace PSS\Bundle\AcmeBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class AcmeControllerTest extends WebTestCase
{
/**
* @var \Symfony\Bundle\FrameworkBundle\Client $client
*/
private $client = null;
public function setUp()
{
parent::setUp();
$this->client = static::createClient();
}
public function tearDown()
{
foreach ($this->client->getContainer()->getMockedServices() as $id => $service) {
$this->client->getContainer()->unmock($id);
}
\Mockery::close();
$this->client = null;
parent::tearDown();
}
public function testThatContactDetailsAreSubmittedToTheCrm()
{
$this->client->getContainer()->mock('crm.client', 'PSS\Crm\Client')
->shouldReceive('send')
->once()
->andReturn(true);
// ...
}
}