jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/384627 )

Change subject: Merge branch 'master' into deployment
......................................................................


Merge branch 'master' into deployment

988031680 Fix a couple base test case things
1c8b26ce8 Updated donation interface for orphan_slayer and module update Bug: 
T172202
b77f36637 Fix country-only address imports
795090e11 Update CiviCRM submodule

Change-Id: I3678a781e975ab3e07c650a6b3f1bd694c1c10dc
---
D sites/all/modules/wmf_civicrm/tests/phpunit/ImportMessageTest.php
D sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php
2 files changed, 0 insertions(+), 1,024 deletions(-)

Approvals:
  jenkins-bot: Verified
  Ejegg: Looks good to me, approved



diff --git a/sites/all/modules/wmf_civicrm/tests/phpunit/ImportMessageTest.php 
b/sites/all/modules/wmf_civicrm/tests/phpunit/ImportMessageTest.php
deleted file mode 100644
index a5a7f7c..0000000
--- a/sites/all/modules/wmf_civicrm/tests/phpunit/ImportMessageTest.php
+++ /dev/null
@@ -1,783 +0,0 @@
-<<<<<<< HEAD   (b95306 Merge branch 'master' of 
https://gerrit.wikimedia.org/r/wiki)
-=======
-<?php
-
-define( 'ImportMessageTest_campaign', 'test mail code here + ' . mt_rand() );
-
-/**
- * @group Import
- * @group Pipeline
- * @group WmfCivicrm
- */
-class ImportMessageTest extends BaseWmfDrupalPhpUnitTestCase {
-    protected $contact_custom_mangle;
-    protected $contribution_id;
-    protected $contribution_custom_mangle;
-    static protected $fixtures;
-
-  /**
-   * These are contribution fields that we do not check for in our comparison.
-   *
-   * Since we never set these always checking for them adds boilerplate code
-   * and potential test breakiness.
-   *
-   * @var array
-   */
-    protected $fieldsToIgnore = array(
-      'address_id',
-      'contact_id',
-      'cancel_date',
-      'cancel_reason',
-      'thankyou_date',
-      'amount_level',
-      'contribution_recur_id',
-      'contribution_page_id',
-      'creditnote_id',
-      'is_test',
-      'id',
-      'invoice_id',
-      'is_pay_later',
-      'campaign_id',
-      'tax_amount',
-      'revenue_recognition_date',
-    );
-
-    protected $moneyFields = array(
-      'total_amount',
-      'source',
-      'net_amount',
-      'fee_amount',
-    );
-
-    public function setUp() {
-        parent::setUp();
-        civicrm_api3( 'OptionValue', 'create', array(
-            'option_group_id' => WMF_CAMPAIGNS_OPTION_GROUP_NAME,
-            'label' => ImportMessageTest_campaign,
-            'value' => ImportMessageTest_campaign,
-        ) );
-    }
-
-    public function tearDown() {
-        if ( $this->contribution_id ) {
-          $this->callAPISuccess('Contribution', 'delete', array('id' => 
$this->contribution_id));
-        }
-        parent::tearDown();
-    }
-
-    /**
-     * @dataProvider messageProvider
-     */
-    public function testMessageInsert( $msg, $expected ) {
-        $contribution = wmf_civicrm_contribution_message_import( $msg );
-        $this->contribution_id = $contribution['id'];
-
-        // Ignore contact_id if we have no expectation.
-        if ( empty( $expected['contribution']['contact_id'] ) ) {
-            $this->fieldsToIgnore[] = 'contact_id';
-        }
-
-        $this->assertComparable( $expected['contribution'], $contribution );
-
-        if ( !empty( $expected['contribution_custom_values'] ) ) {
-            $actual_contribution_custom_values = wmf_civicrm_get_custom_values(
-                $contribution['id'],
-                array_keys( $expected['contribution_custom_values'] )
-            );
-            $this->assertEquals( $expected['contribution_custom_values'], 
$actual_contribution_custom_values );
-        }
-
-        if ( !empty( $expected['contact'] ) ) {
-            $contact = $this->callAPISuccessGetSingle('Contact', array('id' => 
$contribution['contact_id']));
-            $renamedFields = array('prefix' => 1, 'suffix' => 1);
-            $this->assertEquals( array_diff_key($expected['contact'], 
$renamedFields), array_intersect_key( $contact, $expected['contact'] ), 
print_r(array_intersect_key( $contact, $expected['contact'] ), TRUE) . " does 
not match " . print_r(array_diff_key($expected['contact'], $renamedFields), 
TRUE));
-            foreach (array_keys($renamedFields) as $renamedField) {
-              if (isset($expected['contact'][$renamedField])) {
-                $this->assertEquals(civicrm_api3('OptionValue', 'getvalue', 
array(
-                  'value' => $contact[$renamedField . '_id'],
-                  'option_group_id' => 'individual_' . $renamedField,
-                  'return' => 'name',
-                )), $expected['contact'][$renamedField]);
-              }
-            }
-        }
-
-               if ( !empty( $expected['address'] ) ) {
-                       $addresses = civicrm_api3( 'Address', 'get', array(
-                               'contact_id' => $contribution['contact_id'],
-                               'return' => 
'country_id,state_province_id,city,postal_code,street_address,geo_code_1,geo_code_2,timezone',
-                       ) );
-                       $address = $addresses['values'][$addresses['id']];
-                       $this->assertComparable( $expected['address'], $address 
);
-               }
-
-        if ( !empty( $expected['contact_custom_values'] ) ) {
-            $actual_contact_custom_values = wmf_civicrm_get_custom_values(
-                $contribution['contact_id'],
-                array_keys( $expected['contact_custom_values'] )
-            );
-            $this->assertEquals( $expected['contact_custom_values'], 
$actual_contact_custom_values );
-        }
-    }
-
-    public function messageProvider() {
-               // Make static so it isn't destroyed until class cleanup.
-               self::$fixtures = CiviFixtures::create();
-
-               $contribution_type_cash = wmf_civicrm_get_civi_id( 
'contribution_type_id', 'Cash' );
-               $payment_instrument_cc = wmf_civicrm_get_civi_id( 
'payment_instrument_id', 'Credit Card' );
-               $payment_instrument_check = wmf_civicrm_get_civi_id( 
'payment_instrument_id', 'Check' );
-
-               $gateway_txn_id = mt_rand();
-               $check_number = (string) mt_rand();
-
-               $new_prefix = 'M' . mt_rand();
-
-               $cases = array(
-                       // Minimal contribution
-                       array(
-                               $this->getMinimalImportData( $gateway_txn_id ),
-                               array(
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                               ),
-                       ),
-               );
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Minimal contribution with comma thousand separator.
-                       array(
-                               array(
-                                       'currency' => 'USD',
-                                       'date' => '2012-05-01 00:00:00',
-                                       'email' => 'nob...@wikimedia.org',
-                                       'gateway' => 'test_gateway',
-                                       'gateway_txn_id' => $gateway_txn_id,
-                                       'gross' => '1,000.23',
-                                       'payment_method' => 'cc',
-                               ),
-                               array(
-                                       'contribution' => array(
-                                               'contribution_status_id' => '1',
-                                               'contribution_type_id' => 
$contribution_type_cash,
-                                               'currency' => 'USD',
-                                               'fee_amount' => '0',
-                                               'total_amount' => '1,000.23',
-                                               'net_amount' => '1,000.23',
-                                               'non_deductible_amount' => '',
-                                               'payment_instrument_id' => 
$payment_instrument_cc,
-                                               'receipt_date' => '',
-                                               'receive_date' => 
'20120501000000',
-                                               'source' => 'USD 1,000.23',
-                                               'trxn_id' => "TEST_GATEWAY 
{$gateway_txn_id}",
-                                               'financial_type_id' => 
$contribution_type_cash,
-                                               'check_number' => '',
-                                       ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // over-long city.
-                       array(
-                               array_merge(
-                                       $this->getMinimalImportData( 
$gateway_txn_id ),
-                                       array( 'city' => 'This is just stupidly 
long and I do not know why I would enter something this crazily long into a 
field' )
-                               ),
-                               array(
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Maximal contribution
-                       array(
-                               array(
-                                       'check_number' => $check_number,
-                                       'currency' => 'USD',
-                                       'date' => '2012-03-01 00:00:00',
-                                       'direct_mail_appeal' => 
ImportMessageTest_campaign,
-                                       'do_not_email' => 'Y',
-                                       'do_not_mail' => 'Y',
-                                       'do_not_phone' => 'Y',
-                                       'do_not_sms' => 'Y',
-                                       'do_not_solicit' => 'Y',
-                                       'email' => 'nob...@wikimedia.org',
-                                       'first_name' => 'First',
-                                       'fee' => '0.03',
-                                       'language' => 'en_US',
-                                       'gateway' => 'test_gateway',
-                                       'gateway_txn_id' => $gateway_txn_id,
-                                       'gateway_status' => 'P',
-                                       'gift_source' => 'Legacy Gift',
-                                       'gross' => '1.23',
-                                       'import_batch_number' => '4321',
-                                       'is_opt_out' => 'Y',
-                                       'last_name' => 'Last',
-                                       'middle_name' => 'Middle',
-                                       'no_thank_you' => 'no forwarding 
address',
-                                       'name_prefix' => $new_prefix,
-                                       'name_suffix' => 'Sr.',
-                                       'payment_method' => 'check',
-                                       'stock_description' => 'Long-winded 
prolegemenon',
-                                       'thankyou_date' => '2012-04-01',
-                               ),
-                               array(
-                                       'contact' => array(
-                                               'do_not_email' => '1',
-                                               'do_not_mail' => '1',
-                                               'do_not_phone' => '1',
-                                               'do_not_sms' => '1',
-                                               'first_name' => 'First',
-                                               'is_opt_out' => '1',
-                                               'last_name' => 'Last',
-                                               'middle_name' => 'Middle',
-                                               'prefix' => $new_prefix,
-                                               'suffix' => 'Sr.',
-                                               'preferred_language' => 'en',
-                                       ),
-                                       'contribution' => array(
-                                               'address_id' => '',
-                                               'amount_level' => '',
-                                               'campaign_id' => '',
-                                               'cancel_date' => '',
-                                               'cancel_reason' => '',
-                                               'check_number' => $check_number,
-                                               'contribution_page_id' => '',
-                                               'contribution_recur_id' => '',
-                                               'contribution_status_id' => '1',
-                                               'contribution_type_id' => 
$contribution_type_cash,
-                                               'currency' => 'USD',
-                                               'fee_amount' => '0.03',
-                                               'invoice_id' => '',
-                                               'is_pay_later' => '',
-                                               'is_test' => '',
-                                               'net_amount' => '1.2', # :(
-                                               'non_deductible_amount' => '',
-                                               'payment_instrument_id' => 
$payment_instrument_check,
-                                               'receipt_date' => '',
-                                               'receive_date' => 
'20120301000000',
-                                               'source' => 'USD 1.23',
-                                               'thankyou_date' => 
'20120401000000',
-                                               'total_amount' => '1.23',
-                                               'trxn_id' => "TEST_GATEWAY 
{$gateway_txn_id}",
-                                               'financial_type_id' => 
$contribution_type_cash,
-                                               'creditnote_id' => '',
-                                               'tax_amount' => '',
-                                       ),
-                                       'contribution_custom_values' => array(
-                                               'Appeal' => 
ImportMessageTest_campaign,
-                                               'import_batch_number' => '4321',
-                                               'Campaign' => 'Legacy Gift',
-                                               'gateway' => 'test_gateway',
-                                               'gateway_txn_id' => (string) 
$gateway_txn_id,
-                                               'gateway_status_raw' => 'P',
-                                               'no_thank_you' => 'no 
forwarding address',
-                                               'Description_of_Stock' => 
'Long-winded prolegemenon',
-                                       ),
-                                       'contact_custom_values' => array(
-                                               'do_not_solicit' => '1',
-                                               'is_2010_donor' => '0',
-                                               'is_2011_donor' => '1', # 
Fiscal year
-                                               'is_2012_donor' => '0',
-                                               'last_donation_date' => 
'2012-03-01 00:00:00',
-                                               'last_donation_usd' => '1.23',
-                                               'lifetime_usd_total' => '1.23',
-                                       ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Invalid language suffix for valid short lang.
-                       array(
-                               array(
-                                       'currency' => 'USD',
-                                       'date' => '2012-05-01 00:00:00',
-                                       'email' => 'nob...@wikimedia.org',
-                                       'gateway' => 'test_gateway',
-                                       'gateway_txn_id' => $gateway_txn_id,
-                                       'gross' => '1.23',
-                                       'payment_method' => 'cc',
-                                       'language' => 'en_ZZ',
-                                       'name_prefix' => $new_prefix,
-                                       'name_suffix' => 'Sr.',
-                               ),
-                               array(
-                                       'contact' => array(
-                                               'preferred_language' => 'en',
-                                               'prefix' => $new_prefix,
-                                               'suffix' => 'Sr.',
-                                       ),
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Invalid language suffix for invalid short lang.
-                       array(
-                               array(
-                                       'currency' => 'USD',
-                                       'date' => '2012-05-01 00:00:00',
-                                       'email' => 'nob...@wikimedia.org',
-                                       'gateway' => 'test_gateway',
-                                       'gateway_txn_id' => $gateway_txn_id,
-                                       'gross' => '1.23',
-                                       'payment_method' => 'cc',
-                                       'language' => 'zz_ZZ',
-                                       'name_prefix' => $new_prefix,
-                                       'name_suffix' => 'Sr.',
-                                       'prefix' => $new_prefix,
-                                       'suffix' => 'Sr.',
-                               ),
-                               array(
-                                       'contact' => array(
-                                               'preferred_language' => 'zz',
-                                               'prefix' => $new_prefix,
-                                               'suffix' => 'Sr.',
-                                       ),
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Organization contribution
-                       array(
-                               array(
-                                       'contact_type' => 'Organization',
-                                       'currency' => 'USD',
-                                       'date' => '2012-03-01 00:00:00',
-                                       'gateway' => 'test_gateway',
-                                       'gateway_txn_id' => $gateway_txn_id,
-                                       'gross' => '1.23',
-                                       'organization_name' => 'Hedgeco',
-                                       'org_contact_name' => 'Testname',
-                                       'org_contact_title' => 'Testtitle',
-                                       'payment_method' => 'cc',
-                               ),
-                               array(
-                                       'contribution' => array(
-                                               'address_id' => '',
-                                               'amount_level' => '',
-                                               'campaign_id' => '',
-                                               'cancel_date' => '',
-                                               'cancel_reason' => '',
-                                               'check_number' => '',
-                                               'contribution_page_id' => '',
-                                               'contribution_recur_id' => '',
-                                               'contribution_status_id' => '1',
-                                               'contribution_type_id' => 
$contribution_type_cash,
-                                               'currency' => 'USD',
-                                               'fee_amount' => '0',
-                                               'invoice_id' => '',
-                                               'is_pay_later' => '',
-                                               'is_test' => '',
-                                               'net_amount' => '1.23',
-                                               'non_deductible_amount' => '',
-                                               'payment_instrument_id' => 
$payment_instrument_cc,
-                                               'receipt_date' => '',
-                                               'receive_date' => 
'20120301000000',
-                                               'source' => 'USD 1.23',
-                                               'thankyou_date' => '',
-                                               'total_amount' => '1.23',
-                                               'trxn_id' => "TEST_GATEWAY 
{$gateway_txn_id}",
-                                               'financial_type_id' => 
$contribution_type_cash,
-                                               'creditnote_id' => '',
-                                               'tax_amount' => '',
-                                       ),
-                                       'contact_custom_values' => array(
-                                               'Name' => 'Testname',
-                                               'Title' => 'Testtitle',
-                                       ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Subscription payment
-                       array(
-                               array(
-                                       'contact_id' => 
self::$fixtures->contact_id,
-                                       'contribution_recur_id' => 
self::$fixtures->contribution_recur_id,
-                                       'currency' => 'USD',
-                                       'date' => '2014-01-01 00:00:00',
-                                       'effort_id' => 2,
-                                       'email' => 'nob...@wikimedia.org',
-                                       'gateway' => 'test_gateway',
-                                       'gateway_txn_id' => $gateway_txn_id,
-                                       'gross' => 
self::$fixtures->recur_amount,
-                                       'payment_method' => 'cc',
-                               ),
-                               array(
-                                       'contribution' => array(
-                                               'address_id' => '',
-                                               'amount_level' => '',
-                                               'campaign_id' => '',
-                                               'cancel_date' => '',
-                                               'cancel_reason' => '',
-                                               'check_number' => '',
-                                               'contact_id' => strval( 
self::$fixtures->contact_id ),
-                                               'contribution_page_id' => '',
-                                               'contribution_recur_id' => 
strval( self::$fixtures->contribution_recur_id ),
-                                               'contribution_status_id' => '1',
-                                               'contribution_type_id' => 
$contribution_type_cash,
-                                               'currency' => 'USD',
-                                               'fee_amount' => '0',
-                                               'invoice_id' => '',
-                                               'is_pay_later' => '',
-                                               'is_test' => '',
-                                               'net_amount' => 
self::$fixtures->recur_amount,
-                                               'non_deductible_amount' => '',
-                                               'payment_instrument_id' => 
$payment_instrument_cc,
-                                               'receipt_date' => '',
-                                               'receive_date' => 
'20140101000000',
-                                               'source' => 'USD ' . 
self::$fixtures->recur_amount,
-                                               'thankyou_date' => '',
-                                               'total_amount' => 
self::$fixtures->recur_amount,
-                                               'trxn_id' => "TEST_GATEWAY 
{$gateway_txn_id}",
-                                               'financial_type_id' => 
$contribution_type_cash,
-                                               'creditnote_id' => '',
-                                               'tax_amount' => '',
-                                       ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Country-only address
-                       array(
-                               array_merge(
-                                       $this->getMinimalImportData( 
$gateway_txn_id ),
-                                       array(
-                                               'country' => 'FR',
-                                       )
-                               ),
-                               array(
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                                       'address' => array(
-                                               'country_id' => 
wmf_civicrm_get_country_id( 'FR' ),
-                                       )
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] =
-                       // Strip duff characters
-                       array(
-                               array_merge(
-                                       $this->getMinimalImportData( 
$gateway_txn_id ),
-                                       array(
-                                               'first_name' => 'Baa   baa 
black sheep',
-                                       )
-                               ),
-                               array(
-                                       'contact' => array(
-                                               'first_name' => 'Baa baa black 
sheep',
-                                       ),
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                               ),
-                       );
-
-               $gateway_txn_id = mt_rand();
-               $cases[] = // white_space_cleanup
-                       array(
-                               array_merge(
-                                       $this->getMinimalImportData( 
$gateway_txn_id ),
-                                       array(
-                                               // The multiple spaces & 
trailing ideographic space should go.
-                                               // Internally I have set it to 
reduce multiple ideographic space to only one.
-                                               // However, I've had second 
thoughts about my earlier update change to
-                                               // convert them as they are 
formatted differently & the issue was not the
-                                               // existance of them but the 
strings of several of them in a row.
-                                               'first_name' => 'Baa   baa' . 
html_entity_decode( "&#x3000;" ) . html_entity_decode(
-                                                               "&#x3000;"
-                                                       ) . 'black sheep' . 
html_entity_decode( "&#x3000;" ),
-                                               'middle_name' => '  Have &nbsp; 
you any wool',
-                                               'last_name' => ' Yes sir yes 
sir ' . html_entity_decode( '&nbsp;' ) . ' three bags full',
-                                       )
-                               ),
-                               array(
-                                       'contact' => array(
-                                               'first_name' => 'Baa baa' . 
html_entity_decode( "&#x3000;" ) . 'black sheep',
-                                               'middle_name' => 'Have you any 
wool',
-                                               'last_name' => 'Yes sir yes sir 
three bags full',
-                                               'display_name' => 'Baa baa' . 
html_entity_decode(
-                                                               "&#x3000;"
-                                                       ) . 'black sheep Yes 
sir yes sir three bags full',
-                                       ),
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                               ),
-                       );
-               $cases[] = // 'ampersands'
-                       array(
-                               array_merge(
-                                       $this->getMinimalImportData( 
$gateway_txn_id ),
-                                       array(
-                                               // The multiple spaces & 
trailing ideographic space should go.
-                                               // Internally I have set it to 
reduce multiple ideographic space to only one.
-                                               // However, I've had second 
thoughts about my earlier update change to
-                                               // convert them as they are 
formatted differently & the issue was not the
-                                               // existance of them but the 
strings of several of them in a row.
-                                               'first_name' => 'Jack &amp; 
Jill',
-                                               'middle_name' => 'Jack &Amp; 
Jill',
-                                               'last_name' => 'Jack & Jill',
-                                       )
-                               ),
-                               array(
-                                       'contact' => array(
-                                               'first_name' => 'Jack & Jill',
-                                               'middle_name' => 'Jack & Jill',
-                                               'last_name' => 'Jack & Jill',
-                                               'display_name' => 'Jack & Jill 
Jack & Jill',
-                                       ),
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                               ),
-                       );
-               $cases[] =
-                       // US address import is geocoded
-                       array(
-                               array(
-                                       'city' => 'Somerville',
-                                       'country' => 'US',
-                                       'currency' => 'USD',
-                                       'date' => '2012-05-01 00:00:00',
-                                       'email' => 'nob...@wikimedia.org',
-                                       'gateway' => 'test_gateway',
-                                       'gateway_txn_id' => $gateway_txn_id,
-                                       'gross' => '1.23',
-                                       'payment_method' => 'cc',
-                                       'postal_code' => '02144',
-                                       'state_province' => 'MA',
-                                       'street_address' => '1 Davis Square',
-                               ),
-                               array(
-                                       'contribution' => 
$this->getBaseContribution( $gateway_txn_id ),
-                                       'address' => array(
-                                               'country_id' => 
wmf_civicrm_get_country_id( 'US' ),
-                                               'state_province_id' => 
wmf_civicrm_get_state_id(
-                                                       
wmf_civicrm_get_country_id( 'US' ),
-                                                       'MA'
-                                               ),
-                                               'city' => 'Somerville',
-                                               'postal_code' => '02144',
-                                               'street_address' => '1 Davis 
Square',
-                                               'geo_code_1' => '42.399546',
-                                               'geo_code_2' => '-71.12165',
-                                               'timezone' => 'UTC-5',
-                                       )
-                               ),
-                       );
-               return $cases;
-       }
-
-    public function testImportContactGroups() {
-        $fixtures = CiviFixtures::create();
-
-        $msg = array(
-            'currency' => 'USD',
-            'date' => '2012-03-01 00:00:00',
-            'gateway' => 'test_gateway',
-            'gateway_txn_id' => mt_rand(),
-            'gross' => '1.23',
-            'payment_method' => 'cc',
-            'contact_groups' => $fixtures->contact_group_name,
-        );
-        $contribution = wmf_civicrm_contribution_message_import( $msg );
-
-        $group = $this->callAPISuccessGetSingle('GroupContact', 
array('contact_id' => $contribution['contact_id']));
-        $this->assertEquals($fixtures->contact_group_id, $group['group_id']);
-    }
-
-  /**
-   * Test that existing on hold setting is retained.
-   */
-    public function testKeepOnHold() {
-      self::$fixtures = CiviFixtures::create();
-      $this->callAPISuccess('Email', 'create', array(
-        'email' => 'aga...@wikimedia.org',
-        'on_hold' => 1,
-        'location_type_id' => 1,
-        'contact_id' => self::$fixtures->contact_id,
-      ));
-
-      $msg = array(
-        'contact_id' => self::$fixtures->contact_id,
-        'contribution_recur_id' => self::$fixtures->contribution_recur_id,
-        'currency' => 'USD',
-        'date' => '2014-01-01 00:00:00',
-        'effort_id' => 2,
-        'email' => 'aga...@wikimedia.org',
-        'gateway' => 'test_gateway',
-        'gateway_txn_id' => mt_rand(),
-        'gross' => self::$fixtures->recur_amount,
-        'payment_method' => 'cc',
-      );
-      $contribution = wmf_civicrm_contribution_message_import($msg);
-      $emails = $this->callAPISuccess('Email', 'get', array('contact_id' => 
self::$fixtures->contact_id, 'sequential' => 1));
-      $this->assertEquals(1, $emails['count']);
-
-      $this->assertEquals(1, $emails['values'][0]['on_hold']);
-      $this->assertEquals('aga...@wikimedia.org', 
$emails['values'][0]['email']);
-
-      $this->callAPISuccess('Contribution', 'delete', array('id' => 
$contribution['id']));
-
-    }
-
-  /**
-   * Test that existing on hold setting is removed if the email changes.
-   */
-  public function testRemoveOnHoldWhenUpdating() {
-    self::$fixtures = CiviFixtures::create();
-    $this->callAPISuccess('Email', 'create', array(
-      'email' => 'aga...@wikimedia.org',
-      'on_hold' => 1,
-      'location_type_id' => 1,
-      'contact_id' => self::$fixtures->contact_id,
-    ));
-
-    $msg = array(
-      'contact_id' => self::$fixtures->contact_id,
-      'contribution_recur_id' => self::$fixtures->contribution_recur_id,
-      'currency' => 'USD',
-      'date' => '2014-01-01 00:00:00',
-      'effort_id' => 2,
-      'email' => 'pan...@wikimedia.org',
-      'gateway' => 'test_gateway',
-      'gateway_txn_id' => mt_rand(),
-      'gross' => self::$fixtures->recur_amount,
-      'payment_method' => 'cc',
-    );
-    $contribution = wmf_civicrm_contribution_message_import($msg);
-    $emails = $this->callAPISuccess('Email', 'get', array('contact_id' => 
self::$fixtures->contact_id, 'sequential' => 1));
-    $this->assertEquals(1, $emails['count']);
-
-    $this->assertEquals(0, $emails['values'][0]['on_hold']);
-    $this->assertEquals('pan...@wikimedia.org', $emails['values'][0]['email']);
-
-    $this->callAPISuccess('Contribution', 'delete', array('id' => 
$contribution['id']));
-  }
-
-
-  public function testDuplicateHandling() {
-        $fixtures = CiviFixtures::create();
-        $error = null;
-        $msg = array(
-            'currency' => 'USD',
-            'date' => '2012-03-01 00:00:00',
-            'gateway' => 'test_gateway',
-            'order_id' => $fixtures->contribution_invoice_id,
-            'gross' => '1.23',
-            'payment_method' => 'cc',
-            'gateway_txn_id' => 'CON_TEST_GATEWAY' . mt_rand(),
-        );
-        $exceptioned = false;
-        try {
-            wmf_civicrm_contribution_message_import( $msg );
-        } catch ( WmfException $ex ) {
-            $exceptioned = true;
-            $this->assertTrue( $ex->isRequeue() );
-            $this->assertEquals( 'DUPLICATE_INVOICE', $ex->getErrorName() );
-            $this->assertEquals( WmfException::DUPLICATE_INVOICE, 
$ex->getCode() );
-        }
-        $this->assertTrue( $exceptioned );
-    }
-
-  /**
-   * Assert that 2 arrays are the same in all the ways that matter :-).
-   *
-   * This has been written for a specific test & will probably take extra work
-   * to use more broadly.
-   *
-   * @param array $array1
-   * @param array $array2
-   */
-    public function assertComparable($array1, $array2) {
-      $this->reformatMoneyFields($array1);
-      $this->reformatMoneyFields($array2);
-      $array1 = $this->filterIgnoredFieldsFromArray($array1);
-      $array2 = $this->filterIgnoredFieldsFromArray($array2);
-      $this->assertEquals($array1, $array2);
-
-    }
-
-  protected function getMinimalImportData($gateway_txn_id) {
-    return array(
-      'currency' => 'USD',
-      'date' => '2012-05-01 00:00:00',
-      'email' => 'nob...@wikimedia.org',
-      'gateway' => 'test_gateway',
-      'gateway_txn_id' => $gateway_txn_id,
-      'gross' => '1.23',
-      'payment_method' => 'cc',
-    );
-  }
-
-  /**
-   * Get the basic array of contribution data.
-   *
-   * @param string $gateway_txn_id
-   *
-   * @return array
-   */
-  protected function getBaseContribution($gateway_txn_id) {
-    $contribution_type_cash = wmf_civicrm_get_civi_id( 'contribution_type_id', 
'Cash' );
-    $payment_instrument_cc = wmf_civicrm_get_civi_id( 'payment_instrument_id', 
'Credit Card' );
-    return array(
-      'address_id' => '',
-      'amount_level' => '',
-      'campaign_id' => '',
-      'cancel_date' => '',
-      'cancel_reason' => '',
-      'check_number' => '',
-      'contribution_page_id' => '',
-      'contribution_recur_id' => '',
-      'contribution_status_id' => '1',
-      'contribution_type_id' => $contribution_type_cash,
-      'currency' => 'USD',
-      'fee_amount' => '0',
-      'invoice_id' => '',
-      'is_pay_later' => '',
-      'is_test' => '',
-      'net_amount' => '1.23',
-      'non_deductible_amount' => '',
-      'payment_instrument_id' => $payment_instrument_cc,
-      'receipt_date' => '',
-      'receive_date' => '20120501000000',
-      'source' => 'USD 1.23',
-      'thankyou_date' => '',
-      'total_amount' => '1.23',
-      'trxn_id' => "TEST_GATEWAY {$gateway_txn_id}",
-      'financial_type_id' => $contribution_type_cash,
-      'creditnote_id' => '',
-      'tax_amount' => '',
-    );
-  }
-
-  /**
-   * Remove commas from money fields.
-   *
-   * @param array $array
-   */
-    public function reformatMoneyFields(&$array) {
-      foreach ($array as $field => $value) {
-        if (in_array($field, $this->moneyFields)) {
-          $array[$field] = str_replace(',', '', $value);
-        }
-      }
-    }
-
-  /**
-   * Remove fields we don't care about from the array.
-   *
-   * @param array $array
-   *
-   * @return array
-   */
-    public function filterIgnoredFieldsFromArray($array) {
-      return array_diff_key($array, array_flip($this->fieldsToIgnore));
-    }
-
-}
->>>>>>> BRANCH (795090 Update CiviCRM submodule)
diff --git 
a/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php 
b/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php
deleted file mode 100644
index cf31c47..0000000
--- 
a/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php
+++ /dev/null
@@ -1,241 +0,0 @@
-<<<<<<< HEAD   (b95306 Merge branch 'master' of 
https://gerrit.wikimedia.org/r/wiki)
-=======
-<?php
-
-use SmashPig\Core\Context;
-use SmashPig\Tests\TestingContext;
-use SmashPig\Tests\TestingDatabase;
-use SmashPig\Tests\TestingGlobalConfiguration;
-
-class BaseWmfDrupalPhpUnitTestCase extends PHPUnit_Framework_TestCase {
-       protected $startTimestamp;
-
-       public function setUp() {
-        parent::setUp();
-
-        // Initialize SmashPig with a fake context object
-        $config = TestingGlobalConfiguration::create();
-        TestingContext::init( $config );
-
-        if ( !defined( 'DRUPAL_ROOT' ) ) {
-            throw new Exception( "Define DRUPAL_ROOT somewhere before running 
unit tests." );
-        }
-
-        global $user, $_exchange_rate_cache;
-        $GLOBALS['_PEAR_default_error_mode'] = NULL;
-        $GLOBALS['_PEAR_default_error_options'] = NULL;
-        $_exchange_rate_cache = array();
-
-        $user = new stdClass();
-        $user->name = "foo_who";
-        $user->uid = "321";
-        $user->roles = array( DRUPAL_AUTHENTICATED_RID => 'authenticated user' 
);
-        $this->startTimestamp = time();
-    }
-
-    public function tearDown() {
-               TestingDatabase::clearStatics();
-               Context::set( null ); // Nullify any SmashPig context for the 
next run
-               parent::tearDown();
-       }
-
-       /**
-        * Temporarily set foreign exchange rates to known values
-        *
-        * TODO: Should reset after each test.
-        */
-       protected function setExchangeRates( $timestamp, $rates ) {
-               foreach ( $rates as $currency => $rate ) {
-                       exchange_rate_cache_set( $currency, $timestamp, $rate );
-               }
-       }
-
-       /**
-        * Create a temporary directory and return the name
-        * @return string|boolean directory path if creation was successful, or 
false
-        */
-       protected function getTempDir() {
-               $tempFile = tempnam( sys_get_temp_dir(), 'wmfDrupalTest_' );
-               if ( file_exists( $tempFile ) ) {
-                       unlink( $tempFile );
-               }
-               mkdir( $tempFile );
-               if ( is_dir( $tempFile ) ) {
-                       return $tempFile . '/';
-               }
-               return false;
-       }
-
-    /**
-     * API wrapper function from core (more or less).
-     *
-     * so we can ensure they succeed & throw exceptions without littering the 
test with checks.
-     *
-     * This is not the full function but it we think it'w worth keeping a copy 
it should maybe
-     * go in the parent.
-     *
-     * @param string $entity
-     * @param string $action
-     * @param array $params
-     * @param mixed $checkAgainst
-     *   Optional value to check result against, implemented for getvalue,.
-     *   getcount, getsingle. Note that for getvalue the type is checked 
rather than the value
-     *   for getsingle the array is compared against an array passed in - the 
id is not compared (for
-     *   better or worse )
-     *
-     * @return array|int
-     */
-    public function callAPISuccess($entity, $action, $params, $checkAgainst = 
NULL) {
-        $params = array_merge(array(
-            'version' => 3,
-            'debug' => 1,
-        ),
-            $params
-        );
-        try {
-            $result = civicrm_api3($entity, $action, $params);
-        }
-        catch (CiviCRM_API3_Exception $e) {
-            $this->assertEquals(0, $e->getMessage() . 
print_r($e->getExtraParams(), TRUE));
-        }
-        $this->assertAPISuccess($result, "Failure in api call for $entity 
$action");
-        return $result;
-    }
-
-    /**
-     * Check that api returned 'is_error' => 0.
-     *
-     * @param array $apiResult
-     *   Api result.
-     * @param string $prefix
-     *   Extra test to add to message.
-     */
-    public function assertAPISuccess($apiResult, $prefix = '') {
-        if (!empty($prefix)) {
-            $prefix .= ': ';
-        }
-        $errorMessage = empty($apiResult['error_message']) ? '' : " " . 
$apiResult['error_message'];
-
-        if (!empty($apiResult['debug_information'])) {
-            $errorMessage .= "\n " . print_r($apiResult['debug_information'], 
TRUE);
-        }
-        if (!empty($apiResult['trace'])) {
-            $errorMessage .= "\n" . print_r($apiResult['trace'], TRUE);
-        }
-        $this->assertEquals(0, $apiResult['is_error'], $prefix . 
$errorMessage);
-    }
-
-  /**
-   * Getsingle test function from civicrm core codebase test suite.
-   *
-   * This function exists to wrap api getsingle function & check the result
-   * so we can ensure they succeed & throw exceptions without litterering the 
test with checks
-   *
-   * @param string $entity
-   * @param array $params
-   *
-   * @throws Exception
-   * @return array|int
-   */
-  public function callAPISuccessGetSingle($entity, $params) {
-    $params += array(
-      'version' => 3,
-      'debug' => 1,
-    );
-    $result = civicrm_api($entity, 'getsingle', $params);
-    if (!is_array($result) || !empty($result['is_error']) || 
isset($result['values'])) {
-      throw new Exception('Invalid getsingle result' . print_r($result, TRUE));
-    }
-    return $result;
-  }
-
-  /**
-   * Emulate a logged in user since certain functions use that.
-   * value to store a record in the DB (like activity)
-   * CRM-8180
-   *
-   * @return int
-   *   Contact ID of the created user.
-   */
-  public function imitateAdminUser() {
-    $result = $this->callAPISuccess('UFMatch', 'get', array(
-      'uf_id' => 1,
-      'sequential' => 1,
-    ));
-    if (empty($result['id'])) {
-      $contact = $this->callAPISuccess('Contact', 'create', array(
-        'first_name' => 'Super',
-        'last_name' => 'Duper',
-        'contact_type' => 'Individual',
-        'api.UFMatch.create' => array('uf_id' => 1, 'uf_name' => 'Wizard'),
-      ));
-      $contactID = $contact['id'];
-    }
-    else {
-      $contactID = $result['values'][0]['contact_id'];
-    }
-    $session = CRM_Core_Session::singleton();
-    $session->set('userID', $contactID);
-    CRM_Core_Config::singleton()->userPermissionClass = new 
CRM_Core_Permission_UnitTests();
-    CRM_Core_Config::singleton()->userPermissionClass->permissions = 
array('Edit All Contacts', 'Access CiviCRM', 'Administer CiviCRM');
-    return $contactID;
-  }
-
-  public function cleanUpContact( $contactId ) {
-    $contributions = $this->callAPISuccess('Contribution', 'get', array(
-      'contact_id' => $contactId
-    ) );
-    if ( !empty( $contributions['values'] ) ) {
-      foreach ( $contributions['values'] as $id => $details ) {
-        $this->callAPISuccess( 'Contribution', 'delete', array(
-          'id' => $id
-        ) );
-
-        db_delete( 'contribution_tracking' )
-          ->condition( 'contribution_id', $id )
-          ->execute();
-      }
-    }
-    $this->callAPISuccess('Contact', 'delete', array(
-      'id' => $contactId
-    ) );
-  }
-
-  public function onNotSuccessfulTest( $e ) {
-    if ( !PRINT_WATCHDOG_ON_TEST_FAIL ) {
-      throw $e;
-       }
-    $output = "\nWatchdog messages:\n";
-
-    // show watchdog messages since the start of this test
-    $rsc = db_select( 'watchdog', 'wd' )
-      ->condition( 'timestamp' , $this->startTimestamp, '>=' )
-      ->fields( 'wd' )
-      ->orderBy( 'wid', 'ASC' )
-      ->execute();
-
-    while ( $result = $rsc->fetchAssoc() ) {
-      if ( isset ( $result['variables'] ) ) {
-        $vars = unserialize( $result['variables'] );
-      } else {
-        $vars = null;
-      }
-      $message = strip_tags(
-        is_array( $vars )
-          ? strtr( $result['message'], $vars )
-          : $result['message']
-      );
-      $output .= "{$result['timestamp']}, lvl {$result['severity']}, 
{$result['type']}: $message\n";
-    }
-
-    if ( method_exists( $e, 'getMessage' ) ) {
-      $accessible = \Wikimedia\TestingAccessWrapper::newFromObject( $e );
-      $accessible->message = $e->getMessage() . $output;
-    } else {
-      echo $output;
-    }
-
-    throw $e;
-  }
-}
->>>>>>> BRANCH (795090 Update CiviCRM submodule)

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I3678a781e975ab3e07c650a6b3f1bd694c1c10dc
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: deployment
Gerrit-Owner: Ejegg <ej...@ejegg.com>
Gerrit-Reviewer: Ejegg <ej...@ejegg.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to