Adamw has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/101237


Change subject: Update and add to tests
......................................................................

Update and add to tests

Change-Id: I3478be6b7a1d7c8ddb92ccc47a01bc7af4e96dbc
---
M sites/all/modules/queue2civicrm/tests/simpletest/BaseTestCase.php
M sites/all/modules/queue2civicrm/tests/simpletest/PaypalRecurring.test
2 files changed, 71 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm 
refs/changes/37/101237/1

diff --git a/sites/all/modules/queue2civicrm/tests/simpletest/BaseTestCase.php 
b/sites/all/modules/queue2civicrm/tests/simpletest/BaseTestCase.php
index 628f53c..eb5d203 100644
--- a/sites/all/modules/queue2civicrm/tests/simpletest/BaseTestCase.php
+++ b/sites/all/modules/queue2civicrm/tests/simpletest/BaseTestCase.php
@@ -3,6 +3,8 @@
  * Set up schemas and constants.
  */
 class BaseTestCase extends DrupalWebTestCase {
+    protected $profile = 'minimal';
+
     public function setUp() {
         // This is basically a terrible hack: we are using the "development"
         // civicrm database configured in civicrm.settings.php, and avoid the
diff --git 
a/sites/all/modules/queue2civicrm/tests/simpletest/PaypalRecurring.test 
b/sites/all/modules/queue2civicrm/tests/simpletest/PaypalRecurring.test
index ac59066..bc89224 100644
--- a/sites/all/modules/queue2civicrm/tests/simpletest/PaypalRecurring.test
+++ b/sites/all/modules/queue2civicrm/tests/simpletest/PaypalRecurring.test
@@ -58,18 +58,69 @@
         ) );
 
         //TODO: modification messages are not processed currently
+
+        $this->existing_subscr_id = mt_rand();
+
+        $this->existing_contrib_message_body = array(
+            'subscr_id' => $this->existing_subscr_id,
+            'payment_date' => wmf_common_date_unix_to_civicrm( time() ),
+            'txn_type' => 'subscr_payment',
+        );
+
+        $api = civicrm_api_classapi();
+
+        $api->Contact->Create( array(
+            'contact_type' => 'Individual',
+            'email' => '[email protected]',
+            'version' => 3,
+        ) );
+        $this->contact_id = $api->id;
+
+        $api->ContributionRecur->Create( array(
+            'contact_id' => $this->contact_id,
+            'frequency_interval' => 1,
+            'trxn_id' => $this->existing_subscr_id,
+            'version' => 3,
+        ) );
+        $this->existing_recur_id = $api->id;
+
+        $api->Contribution->Create( array(
+            'contact_id' => $this->contact_id,
+            'contribution_type' => 'Cash',
+            'contribution_recur_id' => $this->existing_recur_id,
+            'total_amount' => '20.01',
+            'version' => 3,
+        ) );
+        $this->existing_contribution_id = $api->id;
+
+        $this->ctid = wmf_civicrm_insert_contribution_tracking( 'foo', 'web', 
time(), $this->existing_contribution_id, true, true );
+    }
+
+    public function tearDown() {
+        $api = civicrm_api_classapi();
+
+        $api->ContributionRecur->Delete( array(
+            'id' => $this->existing_recur_id,
+            'version' => 3,
+        ) );
+
+        $api->Contribution->Delete( array(
+            'id' => $this->existing_contribution_id,
+            'version' => 3,
+        ) );
+
+        parent::tearDown();
     }
 
     public function testNormalPayment() {
         recurring_import( $this->subscription_message );
-        $result = recurring_import( $this->payment_message );
-        $this->assertEqual( 1, $result,
-            "Normal recurring payment processed successfully" );
+        recurring_import( $this->payment_message );
 
         $payment_data = $this->payment_message->getBody();
 
         $contributions = wmf_civicrm_get_contributions_from_gateway_id( 
$payment_data['gateway'], $payment_data['gateway_txn_id'] );
         $recur_record = recurring_get_recur_record( $this->subscr_id );
+        //FIXME: convert to array
 
         $this->verbose( json_encode( $contributions ) );
         $this->assertSuperset( $contributions, array(
@@ -95,16 +146,17 @@
     }
 
     public function testNoSubscription() {
-        $result = recurring_import( $this->payment_message );
-        $this->assertEqual( 2, $result,
-            "Payment linking to an invalid subscription is rejected" );
+        try {
+            recurring_import( $this->payment_message );
+            $this->fail( "should have gotten a RequeueError." );
+        } catch ( RequeueError $ex ) {
+            // good.
+        }
     }
 
     public function testExpire() {
         recurring_import( $this->subscription_message );
-        $result = recurring_import( $this->expire_message );
-        $this->assertEqual( 1, $result,
-            "Expiry message processed" );
+        recurring_import( $this->expire_message );
 
         $recur_record = recurring_get_recur_record( $this->subscr_id );
         $this->assertNotNull( $recur_record->end_date );
@@ -112,9 +164,7 @@
 
     public function testCancel() {
         recurring_import( $this->subscription_message );
-        $result = recurring_import( $this->cancel_message );
-        $this->assertEqual( 1, $result,
-            "Cancellation message processed" );
+        recurring_import( $this->cancel_message );
 
         $recur_record = recurring_get_recur_record( $this->subscr_id );
         $this->assertSuperset( get_object_vars( $recur_record ), array(
@@ -125,9 +175,7 @@
 
     public function testFailed() {
         recurring_import( $this->subscription_message );
-        $result = recurring_import( $this->failed_message );
-        $this->assertEqual( 1, $result,
-            "Failure notification message processed" );
+        recurring_import( $this->failed_message );
 
         $recur_record = recurring_get_recur_record( $this->subscr_id );
         $this->assertSuperset( get_object_vars( $recur_record ), array(
@@ -135,4 +183,10 @@
             'failure_retry_date' => '2000-05-01 00:01:02',
         ) );
     }
+
+    public function testRecurring_get_contribution_tracking_idFromPrevious() {
+        $ctid = recurring_get_contribution_tracking_id( 
$this->existing_contrib_message_body );
+        $this->assertEqual( $this->ctid, $ctid,
+            "Contribution tracking can be looked up from msg.subscr_id" );
+    }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/101237
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3478be6b7a1d7c8ddb92ccc47a01bc7af4e96dbc
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Adamw <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to