@@ -58,6 +58,8 @@ public function testGetData()
5858 $ setting = $ data ->transactionRequest ->transactionSettings ->setting [0 ];
5959 $ this ->assertEquals ('testRequest ' , $ setting ->settingName );
6060 $ this ->assertEquals ('false ' , $ setting ->settingValue );
61+ $ this ->assertObjectNotHasAttribute ('trackData ' , $ data ->transactionRequest ->payment );
62+ $ this ->assertObjectNotHasAttribute ('retail ' , $ data ->transactionRequest );
6163 }
6264
6365 public function testGetDataTestMode ()
@@ -89,4 +91,46 @@ public function testShouldIncludeDuplicateWindowSetting()
8991 $ this ->assertEquals ('duplicateWindow ' , $ setting ->settingName );
9092 $ this ->assertEquals ('0 ' , $ setting ->settingValue );
9193 }
94+
95+ public function testGetDataCardPresentTrack1 ()
96+ {
97+ $ card = $ this ->getValidCard ();
98+ $ card ['tracks ' ] = '%B4242424242424242^SMITH/JOHN ^2511126100000000000000444000000?;4242424242424242=25111269999944401? ' ;
99+ $ this ->request ->initialize (array (
100+ 'amount ' => '12.12 ' ,
101+ 'card ' => $ card ,
102+ 'deviceType ' => 1
103+ ));
104+
105+ $ data = $ this ->request ->getData ();
106+
107+ $ this ->assertEquals ('12.12 ' , $ data ->transactionRequest ->amount );
108+ $ this ->assertEquals (
109+ '%B4242424242424242^SMITH/JOHN ^2511126100000000000000444000000? ' ,
110+ $ data ->transactionRequest ->payment ->trackData ->track1 );
111+ $ this ->assertObjectNotHasAttribute ('creditCard ' , $ data ->transactionRequest ->payment );
112+ $ this ->assertEquals ('2 ' , $ data ->transactionRequest ->retail ->marketType );
113+ $ this ->assertEquals ('1 ' , $ data ->transactionRequest ->retail ->deviceType );
114+ }
115+
116+ public function testGetDataCardPresentTrack2 ()
117+ {
118+ $ card = $ this ->getValidCard ();
119+ $ card ['tracks ' ] = ';4242424242424242=25111269999944401? ' ;
120+ $ this ->request ->initialize (array (
121+ 'amount ' => '12.12 ' ,
122+ 'card ' => $ card ,
123+ 'deviceType ' => 1
124+ ));
125+
126+ $ data = $ this ->request ->getData ();
127+
128+ $ this ->assertEquals ('12.12 ' , $ data ->transactionRequest ->amount );
129+ $ this ->assertEquals (
130+ ';4242424242424242=25111269999944401? ' ,
131+ $ data ->transactionRequest ->payment ->trackData ->track2 );
132+ $ this ->assertObjectNotHasAttribute ('creditCard ' , $ data ->transactionRequest ->payment );
133+ $ this ->assertEquals ('2 ' , $ data ->transactionRequest ->retail ->marketType );
134+ $ this ->assertEquals ('1 ' , $ data ->transactionRequest ->retail ->deviceType );
135+ }
92136}
0 commit comments