9da50075de0a9b46db27d255d1f569a95876467b
[WP-Plugins/glm-member-db.git] /
1 <?php
2 use PayPal\IPN\PPIPNMessage;
3 /**
4  * Test class for PPIPNMessage.
5  *
6  */
7 class PPIPNMessageTest extends \PHPUnit_Framework_TestCase {
8         /**
9          * @test
10          */
11         
12         public function passGoodIPN() {
13                 
14         }
15         
16         
17         /**
18          * @test
19          */
20         
21         public function failOnBadIPN() {
22                 $ipn = new PPIPNMessage();
23                 $this->assertEquals(false, $ipn->validate());
24         }
25         
26         
27         /**
28          * @test
29          */
30         
31         public function processIPNWithArrayElements() {
32                 $ipnData = 'transaction[0].id=6WM123443434&transaction[0].status=Completed&transaction[1].id=2F12129812A1&transaction[1].status=Pending';
33                 $ipn = new PPIPNMessage($ipnData);
34                 
35                 $rawData = $ipn->getRawData();
36                 $this->assertEquals(4, count($rawData));
37                 $this->assertEquals('6WM123443434', $rawData['transaction[0].id']);
38         }
39         
40         /**
41          * @test
42          */     
43         public function processIPNWithSpecialCharacters() {
44                 $ipnData = "description=Jake's store";
45                 
46                 ini_set('get_magic_quotes_gpc', true);
47                 $ipn = new PPIPNMessage($ipnData);
48                 $rawData = $ipn->getRawData();          
49                 $this->assertEquals($rawData['description'], "Jake's store");
50                 
51                 ini_set('get_magic_quotes_gpc', false);
52                 $ipn = new PPIPNMessage($ipnData);
53                 $rawData = $ipn->getRawData();
54                 $this->assertEquals($rawData['description'], "Jake's store");
55                 $this->assertEquals($rawData['description'], "Jake's store");
56         }
57         
58 }