TestTransactionTest.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace Test\Integration;
  3. require_once dirname(__DIR__) . '/Setup.php';
  4. use DateTime;
  5. use Test;
  6. use Test\Setup;
  7. use Braintree;
  8. class TestTransactionTest extends Setup
  9. {
  10. public function setUp()
  11. {
  12. Braintree\Configuration::environment('development');
  13. }
  14. /**
  15. * @after
  16. */
  17. public function tearDownResetBraintreeEnvironment()
  18. {
  19. Braintree\Configuration::environment('development');
  20. }
  21. /**
  22. * @expectedException Exception\TestOperationPerformedInProduction
  23. */
  24. public function testThrowingExceptionWhenProduction()
  25. {
  26. Braintree\Configuration::environment('production');
  27. $this->setExpectedException('Braintree\Exception\TestOperationPerformedInProduction');
  28. $transaction = Braintree\Test\Transaction::settle('foo');
  29. }
  30. public function testSettle()
  31. {
  32. $transaction = Braintree\Transaction::saleNoValidate([
  33. 'amount' => '100.00',
  34. 'creditCard' => [
  35. 'number' => '5105105105105100',
  36. 'expirationDate' => '05/12'
  37. ],
  38. 'options' => ['submitForSettlement' => true]
  39. ]);
  40. $transaction = Braintree\Test\Transaction::settle($transaction->id);
  41. $this->assertEquals('settled', $transaction->status);
  42. }
  43. public function testSettlementConfirmed()
  44. {
  45. $transaction = Braintree\Transaction::saleNoValidate([
  46. 'amount' => '100.00',
  47. 'creditCard' => [
  48. 'number' => '5105105105105100',
  49. 'expirationDate' => '05/12'
  50. ],
  51. 'options' => ['submitForSettlement' => true]
  52. ]);
  53. $transaction = Braintree\Test\Transaction::settlementConfirm($transaction->id);
  54. $this->assertEquals('settlement_confirmed', $transaction->status);
  55. }
  56. public function testSettlementDeclined()
  57. {
  58. $transaction = Braintree\Transaction::saleNoValidate([
  59. 'amount' => '100.00',
  60. 'creditCard' => [
  61. 'number' => '5105105105105100',
  62. 'expirationDate' => '05/12'
  63. ],
  64. 'options' => ['submitForSettlement' => true]
  65. ]);
  66. $transaction = Braintree\Test\Transaction::settlementDecline($transaction->id);
  67. $this->assertEquals('settlement_declined', $transaction->status);
  68. }
  69. public function testSettlementPending()
  70. {
  71. $transaction = Braintree\Transaction::saleNoValidate([
  72. 'amount' => '100.00',
  73. 'creditCard' => [
  74. 'number' => '5105105105105100',
  75. 'expirationDate' => '05/12'
  76. ],
  77. 'options' => ['submitForSettlement' => true]
  78. ]);
  79. $transaction = Braintree\Test\Transaction::settlementPending($transaction->id);
  80. $this->assertEquals('settlement_pending', $transaction->status);
  81. }
  82. }