<?php
namespace Omnipay\PayPal\Message;
use Omnipay\Tests\TestCase;
use Omnipay\PayPal\RestGateway;
class RestCreatePlanRequestTest extends TestCase
{
/** @var \Omnipay\PayPal\Message\RestCreatePlanRequest */
private $request;
public function setUp()
{
$client = $this->getHttpClient();
$request = $this->getHttpRequest();
$this->request = new RestCreatePlanRequest($client, $request);
$this->request->initialize(array(
'name' => 'Super Duper Billing Plan',
'description' => 'Test Billing Plan',
'type' => RestGateway::BILLING_PLAN_TYPE_FIXED,
'paymentDefinitions' => array(
array(
'name' => 'Monthly Payments',
'type' => RestGateway::PAYMENT_REGULAR,
'frequency' => RestGateway::BILLING_PLAN_FREQUENCY_MONTH,
'frequency_interval' => 1,
'cycles' => 12,
'amount' => array(
'value' => 10.00,
'currency' => 'USD',
)
)
),
'merchantPreferences' => array(
'name' => 'asdf',
),
));
}
public function testGetData()
{
$data = $this->request->getData();
$this->assertEquals('Super Duper Billing Plan', $data['name']);
$this->assertEquals(RestGateway::BILLING_PLAN_TYPE_FIXED, $data['type']);
$this->assertEquals('Monthly Payments', $data['payment_definitions'][0]['name']);
}
}