Payum\Paypal\ProHosted\Nvp\Tests\Action\Api\ConvertPaymentActionTest::shouldCorrectlyConvertOrderToDetailsAndSetItBack PHP Method

shouldCorrectlyConvertOrderToDetailsAndSetItBack() public method

    public function shouldCorrectlyConvertOrderToDetailsAndSetItBack()
    {
        $gatewayMock = $this->getMock('Payum\\Core\\GatewayInterface');
        $gatewayMock->expects($this->once())->method('execute')->with($this->isInstanceOf('Payum\\Core\\Request\\GetCurrency'))->willReturnCallback(function (GetCurrency $request) {
            $request->name = 'US Dollar';
            $request->alpha3 = 'USD';
            $request->numeric = 123;
            $request->exp = 2;
            $request->country = 'US';
        });
        $payment = new Payment();
        $payment->setNumber('theNumber');
        $payment->setCurrencyCode('USD');
        $payment->setTotalAmount(123);
        $payment->setDescription('the description');
        $payment->setClientId('theClientId');
        $payment->setClientEmail('theClientEmail');
        $action = new ConvertPaymentAction();
        $action->setGateway($gatewayMock);
        $action->execute($convert = new Convert($payment, 'array'));
        $details = $convert->getResult();
        $this->assertNotEmpty($details);
        $this->assertArrayHasKey('INVNUM', $details);
        $this->assertEquals('theNumber', $details['INVNUM']);
        $this->assertArrayHasKey('AMT', $details);
        $this->assertEquals(123, $details['AMT']);
        $this->assertArrayHasKey('CURRENCYCODE', $details);
        $this->assertEquals('USD', $details['CURRENCYCODE']);
    }