@@ -34,6 +34,8 @@ public function testGetData()
3434 $ setting = $ data ->transactionRequest ->transactionSettings ->setting [0 ];
3535 $ this ->assertEquals ('testRequest ' , $ setting ->settingName );
3636 $ this ->assertEquals ('false ' , $ setting ->settingValue );
37+ $ this ->assertObjectNotHasAttribute ('trackData ' , $ data ->transactionRequest ->payment );
38+ $ this ->assertObjectNotHasAttribute ('retail ' , $ data ->transactionRequest );
3739 }
3840
3941 public function testGetDataTestMode ()
@@ -52,4 +54,44 @@ public function testShouldReturnExtraOptionsToDisableDuplicateWindowPeriod()
5254 $ data = $ this ->request ->getData ();
5355 $ this ->assertEquals ('x_duplicate_window=0 ' , strip_tags ($ data ->extraOptions ));
5456 }
57+
58+ public function testGetDataCardPresentTrack1 ()
59+ {
60+ $ card = $ this ->getValidCard ();
61+ $ card ['tracks ' ] = '%B4242424242424242^SMITH/JOHN ^2511126100000000000000444000000?;4242424242424242=25111269999944401? ' ;
62+ $ this ->request ->initialize (array (
63+ 'amount ' => '12.12 ' ,
64+ 'card ' => $ card
65+ ));
66+
67+ $ data = $ this ->request ->getData ();
68+
69+ $ this ->assertEquals ('12.12 ' , $ data ->transactionRequest ->amount );
70+ $ this ->assertEquals (
71+ '%B4242424242424242^SMITH/JOHN ^2511126100000000000000444000000? ' ,
72+ $ data ->transactionRequest ->payment ->trackData ->track1 );
73+ $ this ->assertObjectNotHasAttribute ('creditCard ' , $ data ->transactionRequest ->payment );
74+ $ this ->assertEquals ('2 ' , $ data ->transactionRequest ->retail ->marketType );
75+ $ this ->assertEquals ('1 ' , $ data ->transactionRequest ->retail ->deviceType );
76+ }
77+
78+ public function testGetDataCardPresentTrack2 ()
79+ {
80+ $ card = $ this ->getValidCard ();
81+ $ card ['tracks ' ] = ';4242424242424242=25111269999944401? ' ;
82+ $ this ->request ->initialize (array (
83+ 'amount ' => '12.12 ' ,
84+ 'card ' => $ card
85+ ));
86+
87+ $ data = $ this ->request ->getData ();
88+
89+ $ this ->assertEquals ('12.12 ' , $ data ->transactionRequest ->amount );
90+ $ this ->assertEquals (
91+ ';4242424242424242=25111269999944401? ' ,
92+ $ data ->transactionRequest ->payment ->trackData ->track2 );
93+ $ this ->assertObjectNotHasAttribute ('creditCard ' , $ data ->transactionRequest ->payment );
94+ $ this ->assertEquals ('2 ' , $ data ->transactionRequest ->retail ->marketType );
95+ $ this ->assertEquals ('1 ' , $ data ->transactionRequest ->retail ->deviceType );
96+ }
5597}
0 commit comments