1
|
|
|
<?php |
2
|
|
|
namespace PHPSC\PagSeguro\Requests\PreApprovals; |
3
|
|
|
|
4
|
|
|
use SimpleXMLElement; |
5
|
|
|
use DateTime; |
6
|
|
|
use PHPSC\PagSeguro\Customer\Customer; |
7
|
|
|
use PHPSC\PagSeguro\Customer\Phone; |
8
|
|
|
use PHPSC\PagSeguro\Customer\Address; |
9
|
|
|
|
10
|
|
|
/** |
11
|
|
|
* @author Renato Moura <[email protected]> |
12
|
|
|
*/ |
13
|
|
|
class RequestSerializerTest extends \PHPUnit_Framework_TestCase |
14
|
|
|
{ |
15
|
|
|
public function testSerializeShouldXMLFull() |
16
|
|
|
{ |
17
|
|
|
$preApproval = new PreApproval; |
18
|
|
|
$preApproval->setChargeType('auto'); |
19
|
|
|
$preApproval->setName('Assinatura Revista'); |
20
|
|
|
$preApproval->setPeriod('MONTHLY'); |
21
|
|
|
$preApproval->setFinalDate(new DateTime('2016-11-18')); |
22
|
|
|
$preApproval->setMaxTotalAmount(3000); |
23
|
|
|
$preApproval->setDetails('Cobranca Mensal da Revista'); |
24
|
|
|
$preApproval->setAmountPerPayment(100); |
25
|
|
|
$preApproval->setMaxAmountPerPayment(150); |
26
|
|
|
$preApproval->setInitialDate(new DateTime('2015-11-18')); |
27
|
|
|
$preApproval->setMaxPaymentsPerPeriod(12); |
28
|
|
|
$preApproval->setMaxAmountPerPeriod(1200); |
29
|
|
|
|
30
|
|
|
$customerAddress = new Address('AC', 'Sao Maite', '99500-079', 'Centro', 'Rua David Delgado', '55', 'Fundos'); |
31
|
|
|
$customerPhone = new Phone('11', '99999999'); |
32
|
|
|
$customer = new Customer('[email protected]', 'FooBar', $customerPhone, $customerAddress); |
33
|
|
|
|
34
|
|
|
$request = new Request($preApproval); |
35
|
|
|
$request->setCustomer($customer); |
36
|
|
|
$request->setReference('abcdef'); |
37
|
|
|
$request->setReviewOn('http://localhost/return.php'); |
38
|
|
|
$request->setRedirectTo('http://localhost/success.php'); |
39
|
|
|
|
40
|
|
|
$serializer = new RequestSerializer; |
41
|
|
|
$xml = $serializer->serialize($request); |
42
|
|
|
|
43
|
|
|
$this->assertInstanceOf(SimpleXMLElement::class, $xml); |
44
|
|
|
$expected = simplexml_load_file(__DIR__.'/xml/preAprovalsRequestFull.xml'); |
45
|
|
|
$this->assertEquals($expected, $xml); |
46
|
|
|
} |
47
|
|
|
} |
48
|
|
|
|