CreditCardVerificationTest.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace Test\Integration;
  3. require_once dirname(__DIR__) . '/Setup.php';
  4. use Test;
  5. use Test\Setup;
  6. use Braintree;
  7. class CreditCardVerificationTest extends Setup
  8. {
  9. public function test_createWithSuccessfulResponse()
  10. {
  11. $result = Braintree\CreditCardVerification::create([
  12. 'creditCard' => [
  13. 'number' => '4111111111111111',
  14. 'expirationDate' => '05/2011',
  15. ],
  16. ]);
  17. $this->assertTrue($result->success);
  18. }
  19. public function test_createWithUnsuccessfulResponse()
  20. {
  21. $result = Braintree\CreditCardVerification::create([
  22. 'creditCard' => [
  23. 'number' => Braintree\Test\CreditCardNumbers::$failsSandboxVerification['Visa'],
  24. 'expirationDate' => '05/2011',
  25. ],
  26. ]);
  27. $this->assertFalse($result->success);
  28. $this->assertEquals($result->verification->status, Braintree\Result\CreditCardVerification::PROCESSOR_DECLINED);
  29. $verification = $result->verification;
  30. $this->assertEquals($verification->processorResponseCode, '2000');
  31. $this->assertEquals($verification->processorResponseText, 'Do Not Honor');
  32. }
  33. public function test_createWithInvalidRequest()
  34. {
  35. $result = Braintree\CreditCardVerification::create([
  36. 'creditCard' => [
  37. 'number' => Braintree\Test\CreditCardNumbers::$failsSandboxVerification['Visa'],
  38. 'expirationDate' => '05/2011',
  39. ],
  40. 'options' => [
  41. 'amount' => '-5.00'
  42. ],
  43. ]);
  44. $this->assertFalse($result->success);
  45. $amountErrors = $result->errors->forKey('verification')->forKey('options')->onAttribute('amount');
  46. $this->assertEquals(Braintree\Error\Codes::VERIFICATION_OPTIONS_AMOUNT_CANNOT_BE_NEGATIVE, $amountErrors[0]->code);
  47. }
  48. }