From: Seamus Lee Date: Tue, 25 Oct 2022 21:29:55 +0000 (+1100) Subject: [REF] Add in Unit test to demonstrate error when trying to import a campaign id int... X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=d3f5fbe321b2ef7815891a3437024814b22515de;p=civicrm-core.git [REF] Add in Unit test to demonstrate error when trying to import a campaign id int rather than name or label of the campaign --- diff --git a/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php b/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php index 032aeb0cea..78203e35fa 100644 --- a/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php +++ b/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php @@ -530,6 +530,8 @@ class CRM_Contribute_Import_Parser_ContributionTest extends CiviUnitTestCase { */ public function testImportFieldsNotRequiredWithTrxnID(): void { $this->individualCreate(['email' => 'mum@example.com']); + $this->campaignCreate(); + $this->callAPISuccess('System', 'flush', []); $fieldMappings = [ ['name' => 'first_name'], ['name' => ''], @@ -539,6 +541,7 @@ class CRM_Contribute_Import_Parser_ContributionTest extends CiviUnitTestCase { ['name' => ''], ['name' => ''], ['name' => 'trxn_id'], + ['name' => 'contribution_campaign_id'], ]; // First we try to create without total_amount mapped. // It will fail in create mode as total_amount is required for create. @@ -558,7 +561,7 @@ class CRM_Contribute_Import_Parser_ContributionTest extends CiviUnitTestCase { $this->importCSV('contributions.csv', $fieldMappings, ['onDuplicate' => CRM_Import_Parser::DUPLICATE_SKIP]); $row = $this->getDataSource()->getRows()[0]; - $this->assertEquals('IMPORTED', $row[9]); + $this->assertEquals('IMPORTED', $row[10]); $contribution = Contribution::get()->addSelect('source', 'id')->execute()->first(); $this->assertEmpty($contribution['source']); @@ -572,11 +575,12 @@ class CRM_Contribute_Import_Parser_ContributionTest extends CiviUnitTestCase { ['name' => ''], ['name' => 'contribution_source'], ['name' => 'trxn_id'], + ['name' => 'contribution_campaign_id'], ]; $this->importCSV('contributions.csv', $fieldMappings, ['onDuplicate' => CRM_Import_Parser::DUPLICATE_UPDATE]); $row = $this->getDataSource()->getRows()[0]; - $this->assertEquals('IMPORTED', $row[9]); + $this->assertEquals('IMPORTED', $row[10]); $contribution = Contribution::get()->addSelect('source', 'id')->execute()->first(); $this->assertEquals('Call him back', $contribution['source']); } diff --git a/tests/phpunit/CRM/Contribute/Import/Parser/data/contributions.csv b/tests/phpunit/CRM/Contribute/Import/Parser/data/contributions.csv index 46f34410b9..a16d213fb7 100644 --- a/tests/phpunit/CRM/Contribute/Import/Parser/data/contributions.csv +++ b/tests/phpunit/CRM/Contribute/Import/Parser/data/contributions.csv @@ -1,2 +1,2 @@ -External Identifier,Total Amount,Receive Date,Financial Type,Soft Credit to,Source,Note,Transaction ID -bob,65,2008-09-20,Donation,mum@example.com,Word of mouth,Call him back,999 +External Identifier,Total Amount,Receive Date,Financial Type,Soft Credit to,Source,Note,Transaction ID,Campaign ID +bob,65,2008-09-20,Donation,mum@example.com,Word of mouth,Call him back,999,1