*/
public function testImportFieldsNotRequiredWithTrxnID(): void {
$this->individualCreate(['email' => 'mum@example.com']);
+ $this->campaignCreate();
+ $this->callAPISuccess('System', 'flush', []);
$fieldMappings = [
['name' => 'first_name'],
['name' => ''],
['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.
$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']);
['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']);
}
-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