示例#1
0
 /**
  * Test update pending contribution
  */
 public function testUpdatePendingContribution()
 {
     $this->_individualId = $this->individualCreate();
     $form = new CRM_Contribute_Form_Task_Status();
     // create a pending contribution
     $contributionParams = array('contact_id' => $this->_individualId, 'total_amount' => 100, 'financial_type_id' => 'Donation', 'contribution_status_id' => 2);
     $contribution = $this->callAPISuccess('Contribution', 'create', $contributionParams);
     $contributionId = $contribution['id'];
     $form->setContributionIds(array($contributionId));
     $form->buildQuickForm();
     $params = array("contribution_status_id" => 1, "trxn_id_{$contributionId}" => NULL, "check_number_{$contributionId}" => NULL, "fee_amount_{$contributionId}" => 0, "trxn_date_{$contributionId}" => date('m/d/Y'), "payment_instrument_id_{$contributionId}" => 4);
     CRM_Contribute_Form_Task_Status::processForm($form, $params);
     $contribution = $this->callAPISuccess('Contribution', 'get', array('id' => $contributionId));
     $updatedContribution = $contribution['values'][1];
     $this->assertEquals('', $updatedContribution['contribution_source']);
     $this->assertEquals(date("Y-m-d"), date("Y-m-d", strtotime($updatedContribution['receive_date'])));
     $this->assertNotEquals("00:00:00", date("H:i:s", strtotime($updatedContribution['receive_date'])));
     $this->assertEquals('Completed', $updatedContribution['contribution_status']);
 }