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