quickCleanUpFinancialEntities(); CRM_Utils_Hook::singleton()->reset(); } /** * CRM-17815 - Test due date and payment advice block in generated * invoice pdf for pending and completed contributions */ public function testInvoiceForDueDate() { $contactIds = array(); $params = array( 'output' => 'pdf_invoice', 'forPage' => 1, ); $this->_individualId = $this->individualCreate(); $contributionParams = array( 'contact_id' => $this->_individualId, 'total_amount' => 100, 'financial_type_id' => 'Donation', ); $result = $this->callAPISuccess('Contribution', 'create', $contributionParams); $contributionParams['contribution_status_id'] = 2; $contributionParams['is_pay_later'] = 1; $contribution = $this->callAPISuccess('Contribution', 'create', $contributionParams); $contribution3 = $this->callAPISuccess('Contribution', 'create', $contributionParams); $this->callAPISuccess('Payment', 'create', array('total_amount' => 8, 'contribution_id' => $contribution3['id'])); $this->callAPISuccess('Contribution', 'create', array('id' => $contribution3['id'], 'is_pay_later' => 0)); $contributionIDs = array( array($result['id']), array($contribution['id']), array($contribution3['id']), ); $contactIds[] = $this->_individualId; foreach ($contributionIDs as $contributionID) { $invoiceHTML[current($contributionID)] = CRM_Contribute_Form_Task_Invoice::printPDF($contributionID, $params, $contactIds); } $this->assertNotContains('Due Date', $invoiceHTML[$result['id']]); $this->assertNotContains('PAYMENT ADVICE', $invoiceHTML[$result['id']]); $this->assertContains('Due Date', $invoiceHTML[$contribution['id']]); $this->assertContains('PAYMENT ADVICE', $invoiceHTML[$contribution['id']]); $this->assertContains('AMOUNT DUE: $ 92.00', $invoiceHTML[$contribution3['id']]); } }