PageRenderTime 25ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/braintree/braintree_php/tests/integration/AddressTest.php

https://gitlab.com/yousafsyed/easternglamor
PHP | 298 lines | 282 code | 16 blank | 0 comment | 0 complexity | fd0bac8eaa840d8837e286438979d42a MD5 | raw file
  1. <?php
  2. require_once realpath(dirname(__FILE__)) . '/../TestHelper.php';
  3. class Braintree_AddressTest extends PHPUnit_Framework_TestCase
  4. {
  5. function testCreate()
  6. {
  7. $customer = Braintree_Customer::createNoValidate();
  8. $result = Braintree_Address::create(array(
  9. 'customerId' => $customer->id,
  10. 'firstName' => 'Dan',
  11. 'lastName' => 'Smith',
  12. 'company' => 'Braintree',
  13. 'streetAddress' => '1 E Main St',
  14. 'extendedAddress' => 'Apt 1F',
  15. 'locality' => 'Chicago',
  16. 'region' => 'IL',
  17. 'postalCode' => '60622',
  18. 'countryName' => 'Vatican City',
  19. 'countryCodeAlpha2' => 'VA',
  20. 'countryCodeAlpha3' => 'VAT',
  21. 'countryCodeNumeric' => '336'
  22. ));
  23. $this->assertTrue($result->success);
  24. $address = $result->address;
  25. $this->assertEquals('Dan', $address->firstName);
  26. $this->assertEquals('Smith', $address->lastName);
  27. $this->assertEquals('Braintree', $address->company);
  28. $this->assertEquals('1 E Main St', $address->streetAddress);
  29. $this->assertEquals('Apt 1F', $address->extendedAddress);
  30. $this->assertEquals('Chicago', $address->locality);
  31. $this->assertEquals('IL', $address->region);
  32. $this->assertEquals('60622', $address->postalCode);
  33. $this->assertEquals('Vatican City', $address->countryName);
  34. $this->assertEquals('VA', $address->countryCodeAlpha2);
  35. $this->assertEquals('VAT', $address->countryCodeAlpha3);
  36. $this->assertEquals('336', $address->countryCodeNumeric);
  37. }
  38. function testGatewayCreate()
  39. {
  40. $customer = Braintree_Customer::createNoValidate();
  41. $gateway = new Braintree_Gateway(array(
  42. 'environment' => 'development',
  43. 'merchantId' => 'integration_merchant_id',
  44. 'publicKey' => 'integration_public_key',
  45. 'privateKey' => 'integration_private_key'
  46. ));
  47. $result = $gateway->address()->create(array(
  48. 'customerId' => $customer->id,
  49. 'streetAddress' => '1 E Main St',
  50. 'locality' => 'Chicago',
  51. 'region' => 'IL',
  52. 'postalCode' => '60622',
  53. ));
  54. $this->assertTrue($result->success);
  55. $address = $result->address;
  56. $this->assertEquals('1 E Main St', $address->streetAddress);
  57. $this->assertEquals('Chicago', $address->locality);
  58. $this->assertEquals('IL', $address->region);
  59. $this->assertEquals('60622', $address->postalCode);
  60. }
  61. function testCreate_withValidationErrors()
  62. {
  63. $customer = Braintree_Customer::createNoValidate();
  64. $result = Braintree_Address::create(array(
  65. 'customerId' => $customer->id,
  66. 'countryName' => 'Invalid States of America'
  67. ));
  68. $this->assertFalse($result->success);
  69. $countryErrors = $result->errors->forKey('address')->onAttribute('countryName');
  70. $this->assertEquals(Braintree_Error_Codes::ADDRESS_COUNTRY_NAME_IS_NOT_ACCEPTED, $countryErrors[0]->code);
  71. }
  72. function testCreate_withValidationErrors_onCountryCodes()
  73. {
  74. $customer = Braintree_Customer::createNoValidate();
  75. $result = Braintree_Address::create(array(
  76. 'customerId' => $customer->id,
  77. 'countryCodeAlpha2' => 'ZZ'
  78. ));
  79. $this->assertFalse($result->success);
  80. $countryErrors = $result->errors->forKey('address')->onAttribute('countryCodeAlpha2');
  81. $this->assertEquals(Braintree_Error_Codes::ADDRESS_COUNTRY_CODE_ALPHA2_IS_NOT_ACCEPTED, $countryErrors[0]->code);
  82. }
  83. function testCreateNoValidate()
  84. {
  85. $customer = Braintree_Customer::createNoValidate();
  86. $address = Braintree_Address::createNoValidate(array(
  87. 'customerId' => $customer->id,
  88. 'firstName' => 'Dan',
  89. 'lastName' => 'Smith',
  90. 'company' => 'Braintree',
  91. 'streetAddress' => '1 E Main St',
  92. 'extendedAddress' => 'Apt 1F',
  93. 'locality' => 'Chicago',
  94. 'region' => 'IL',
  95. 'postalCode' => '60622',
  96. 'countryName' => 'United States of America'
  97. ));
  98. $this->assertEquals('Dan', $address->firstName);
  99. $this->assertEquals('Smith', $address->lastName);
  100. $this->assertEquals('Braintree', $address->company);
  101. $this->assertEquals('1 E Main St', $address->streetAddress);
  102. $this->assertEquals('Apt 1F', $address->extendedAddress);
  103. $this->assertEquals('Chicago', $address->locality);
  104. $this->assertEquals('IL', $address->region);
  105. $this->assertEquals('60622', $address->postalCode);
  106. $this->assertEquals('United States of America', $address->countryName);
  107. }
  108. function testCreateNoValidate_withValidationErrors()
  109. {
  110. $customer = Braintree_Customer::createNoValidate();
  111. $this->setExpectedException('Braintree_Exception_ValidationsFailed');
  112. Braintree_Address::createNoValidate(array(
  113. 'customerId' => $customer->id,
  114. 'countryName' => 'Invalid States of America'
  115. ));
  116. }
  117. function testDelete()
  118. {
  119. $customer = Braintree_Customer::createNoValidate();
  120. $address = Braintree_Address::createNoValidate(array(
  121. 'customerId' => $customer->id,
  122. 'streetAddress' => '1 E Main St'
  123. ));
  124. Braintree_Address::find($customer->id, $address->id);
  125. Braintree_Address::delete($customer->id, $address->id);
  126. $this->setExpectedException('Braintree_Exception_NotFound');
  127. Braintree_Address::find($customer->id, $address->id);
  128. }
  129. function testFind()
  130. {
  131. $customer = Braintree_Customer::createNoValidate();
  132. $result = Braintree_Address::create(array(
  133. 'customerId' => $customer->id,
  134. 'firstName' => 'Dan',
  135. 'lastName' => 'Smith',
  136. 'company' => 'Braintree',
  137. 'streetAddress' => '1 E Main St',
  138. 'extendedAddress' => 'Apt 1F',
  139. 'locality' => 'Chicago',
  140. 'region' => 'IL',
  141. 'postalCode' => '60622',
  142. 'countryName' => 'United States of America'
  143. ));
  144. $this->assertTrue($result->success);
  145. $address = Braintree_Address::find($customer->id, $result->address->id);
  146. $this->assertEquals('Dan', $address->firstName);
  147. $this->assertEquals('Smith', $address->lastName);
  148. $this->assertEquals('Braintree', $address->company);
  149. $this->assertEquals('1 E Main St', $address->streetAddress);
  150. $this->assertEquals('Apt 1F', $address->extendedAddress);
  151. $this->assertEquals('Chicago', $address->locality);
  152. $this->assertEquals('IL', $address->region);
  153. $this->assertEquals('60622', $address->postalCode);
  154. $this->assertEquals('United States of America', $address->countryName);
  155. }
  156. function testFind_whenNotFound()
  157. {
  158. $customer = Braintree_Customer::createNoValidate();
  159. $this->setExpectedException('Braintree_Exception_NotFound');
  160. Braintree_Address::find($customer->id, 'does-not-exist');
  161. }
  162. function testUpdate()
  163. {
  164. $customer = Braintree_Customer::createNoValidate();
  165. $address = Braintree_Address::createNoValidate(array(
  166. 'customerId' => $customer->id,
  167. 'firstName' => 'Old First',
  168. 'lastName' => 'Old Last',
  169. 'company' => 'Old Company',
  170. 'streetAddress' => '1 E Old St',
  171. 'extendedAddress' => 'Apt Old',
  172. 'locality' => 'Old Chicago',
  173. 'region' => 'Old Region',
  174. 'postalCode' => 'Old Postal',
  175. 'countryName' => 'United States of America',
  176. 'countryCodeAlpha2' => 'US',
  177. 'countryCodeAlpha3' => 'USA',
  178. 'countryCodeNumeric' => '840'
  179. ));
  180. $result = Braintree_Address::update($customer->id, $address->id, array(
  181. 'firstName' => 'New First',
  182. 'lastName' => 'New Last',
  183. 'company' => 'New Company',
  184. 'streetAddress' => '1 E New St',
  185. 'extendedAddress' => 'Apt New',
  186. 'locality' => 'New Chicago',
  187. 'region' => 'New Region',
  188. 'postalCode' => 'New Postal',
  189. 'countryName' => 'Mexico',
  190. 'countryCodeAlpha2' => 'MX',
  191. 'countryCodeAlpha3' => 'MEX',
  192. 'countryCodeNumeric' => '484'
  193. ));
  194. $this->assertTrue($result->success);
  195. $address = $result->address;
  196. $this->assertEquals('New First', $address->firstName);
  197. $this->assertEquals('New Last', $address->lastName);
  198. $this->assertEquals('New Company', $address->company);
  199. $this->assertEquals('1 E New St', $address->streetAddress);
  200. $this->assertEquals('Apt New', $address->extendedAddress);
  201. $this->assertEquals('New Chicago', $address->locality);
  202. $this->assertEquals('New Region', $address->region);
  203. $this->assertEquals('New Postal', $address->postalCode);
  204. $this->assertEquals('Mexico', $address->countryName);
  205. $this->assertEquals('MX', $address->countryCodeAlpha2);
  206. $this->assertEquals('MEX', $address->countryCodeAlpha3);
  207. $this->assertEquals('484', $address->countryCodeNumeric);
  208. }
  209. function testUpdate_withValidationErrors()
  210. {
  211. $customer = Braintree_Customer::createNoValidate();
  212. $address = Braintree_Address::createNoValidate(array(
  213. 'customerId' => $customer->id,
  214. 'streetAddress' => '1 E Main St'
  215. ));
  216. $result = Braintree_Address::update(
  217. $customer->id,
  218. $address->id,
  219. array(
  220. 'countryName' => 'Invalid States of America'
  221. )
  222. );
  223. $this->assertFalse($result->success);
  224. $countryErrors = $result->errors->forKey('address')->onAttribute('countryName');
  225. $this->assertEquals(Braintree_Error_Codes::ADDRESS_COUNTRY_NAME_IS_NOT_ACCEPTED, $countryErrors[0]->code);
  226. }
  227. function testUpdate_withValidationErrors_onCountry()
  228. {
  229. $customer = Braintree_Customer::createNoValidate();
  230. $address = Braintree_Address::createNoValidate(array(
  231. 'customerId' => $customer->id,
  232. 'streetAddress' => '1 E Main St'
  233. ));
  234. $result = Braintree_Address::update(
  235. $customer->id,
  236. $address->id,
  237. array(
  238. 'countryCodeAlpha2' => 'MU',
  239. 'countryCodeAlpha3' => 'MYT'
  240. )
  241. );
  242. $this->assertFalse($result->success);
  243. $countryErrors = $result->errors->forKey('address')->onAttribute('base');
  244. $this->assertEquals(Braintree_Error_Codes::ADDRESS_INCONSISTENT_COUNTRY, $countryErrors[0]->code);
  245. }
  246. function testUpdateNoValidate()
  247. {
  248. $customer = Braintree_Customer::createNoValidate();
  249. $createdAddress = Braintree_Address::createNoValidate(array(
  250. 'customerId' => $customer->id,
  251. 'firstName' => 'Old First',
  252. 'lastName' => 'Old Last',
  253. 'company' => 'Old Company',
  254. 'streetAddress' => '1 E Old St',
  255. 'extendedAddress' => 'Apt Old',
  256. 'locality' => 'Old Chicago',
  257. 'region' => 'Old Region',
  258. 'postalCode' => 'Old Postal',
  259. 'countryName' => 'United States of America'
  260. ));
  261. $address = Braintree_Address::updateNoValidate($customer->id, $createdAddress->id, array(
  262. 'firstName' => 'New First',
  263. 'lastName' => 'New Last',
  264. 'company' => 'New Company',
  265. 'streetAddress' => '1 E New St',
  266. 'extendedAddress' => 'Apt New',
  267. 'locality' => 'New Chicago',
  268. 'region' => 'New Region',
  269. 'postalCode' => 'New Postal',
  270. 'countryName' => 'Mexico'
  271. ));
  272. $this->assertEquals('New First', $address->firstName);
  273. $this->assertEquals('New Last', $address->lastName);
  274. $this->assertEquals('New Company', $address->company);
  275. $this->assertEquals('1 E New St', $address->streetAddress);
  276. $this->assertEquals('Apt New', $address->extendedAddress);
  277. $this->assertEquals('New Chicago', $address->locality);
  278. $this->assertEquals('New Region', $address->region);
  279. $this->assertEquals('New Postal', $address->postalCode);
  280. $this->assertEquals('Mexico', $address->countryName);
  281. }
  282. }