Sonata\Tests\Component\Payment\Ogone\OgonePaymentTest::testValidPayment PHP Метод

testValidPayment() публичный Метод

public testValidPayment ( )
    public function testValidPayment()
    {
        $logger = $this->getMock('Symfony\\Component\\HttpKernel\\Log\\LoggerInterface');
        $templating = $this->getMock('Symfony\\Bundle\\FrameworkBundle\\Templating\\EngineInterface');
        $router = $this->getMock('Symfony\\Component\\Routing\\RouterInterface');
        $router->expects($this->once())->method('generate')->will($this->returnValue('http://www.google.com'));
        $payment = new OgonePayment($router, $logger, $templating, true);
        $payment->setCode('ogone_1');
        $payment->setOptions(array('url_return_ok' => 'sonata_payment_confirmation', 'url_return_ko' => '', 'url_callback' => '', 'template' => '', 'form_url' => '', 'sha_key' => '', 'sha-out_key' => '', 'pspid' => '', 'home_url' => '', 'catalog_url' => ''));
        $basket = $this->getMock('Sonata\\Component\\Basket\\Basket');
        $product = $this->getMock('Sonata\\Component\\Product\\ProductInterface');
        $date = new \DateTime();
        $date->setTimeStamp(strtotime('30/11/1981'));
        $date->setTimezone(new \DateTimeZone('Europe/Paris'));
        $order = new OgonePaymentTest_Order();
        $order->setCreatedAt($date);
        $order->setId(2);
        $order->setReference('FR');
        $order->setLocale('es');
        $transaction = $this->getMock('Sonata\\Component\\Payment\\TransactionInterface');
        $transaction->expects($this->any())->method('get')->will($this->returnCallback(array($this, 'callback')));
        //        $transaction->expects($this->once())->method('setTransactionId');
        $transaction->expects($this->any())->method('getOrder')->will($this->returnValue($order));
        $transaction->expects($this->any())->method('getCreatedAt')->will($this->returnValue($date));
        $this->assertEquals('ogone_1', $payment->getCode(), 'Ogone Payment return the correct code');
        $this->assertTrue($payment->isAddableProduct($basket, $product));
        $this->assertTrue($payment->isBasketValid($basket));
        $this->assertTrue($payment->isRequestValid($transaction));
        $this->assertTrue($payment->isCallbackValid($transaction));
        $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Response', $payment->handleError($transaction));
        $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Response', $payment->sendConfirmationReceipt($transaction));
    }