$_REQUEST['id'] = $form->_eventId = $params['id'];
$form->controller = new CRM_Event_Controller_Registration();
$form->_params = $params['params'];
+ $form->_amount = $form->_totalAmount = CRM_Utils_Array::value('totalAmount', $params);
$form->set('params', $params['params']);
$form->_values['custom_pre_id'] = array();
$form->_values['custom_post_id'] = array();
+ $form->_values['event'] = CRM_Utils_Array::value('event', $params);
$form->_contributeMode = $params['contributeMode'];
$eventParams = array('id' => $params['id']);
CRM_Event_BAO_Event::retrieve($eventParams, $form->_values['event']);
$this->callAPISuccessGetSingle('Participant', array());
}
+ /**
+ * Test for Tax amount for multiple participant.
+ *
+ * @throws \Exception
+ */
+ public function testTaxMultipleParticipant() {
+ $params = array('is_monetary' => 1, 'financial_type_id' => 1);
+ $event = $this->eventCreate($params);
+ CRM_Event_Form_Registration_Confirm::testSubmit(array(
+ 'id' => $event['id'],
+ 'contributeMode' => 'direct',
+ 'registerByID' => $this->createLoggedInUser(),
+ 'totalAmount' => 440,
+ 'event' => reset($event['values']),
+ 'params' => array(
+ array(
+ 'qfKey' => 'e6eb2903eae63d4c5c6cc70bfdda8741_2801',
+ 'entryURL' => "http://dmaster.local/civicrm/event/register?reset=1&id={$event['id']}",
+ 'first_name' => 'Participant1',
+ 'last_name' => 'LastName',
+ 'email-Primary' => 'participant1@example.com',
+ 'scriptFee' => '',
+ 'scriptArray' => '',
+ 'additional_participants' => 2,
+ 'payment_processor_id' => 0,
+ 'bypass_payment' => '',
+ 'MAX_FILE_SIZE' => '33554432',
+ 'is_primary' => 1,
+ 'is_pay_later' => 1,
+ 'campaign_id' => NULL,
+ 'defaultRole' => 1,
+ 'participant_role_id' => '1',
+ 'currencyID' => 'USD',
+ 'amount_level' => '\ 1Tiny-tots (ages 5-8) - 1\ 1',
+ 'amount' => '100.00',
+ 'tax_amount' => 10,
+ 'ip_address' => '127.0.0.1',
+ 'invoiceID' => '57adc34957a29171948e8643ce906332',
+ 'trxn_id' => '123456789',
+ 'button' => '_qf_Register_upload',
+ ),
+ array(
+ 'qfKey' => 'e6eb2903eae63d4c5c6cc70bfdda8741_2801',
+ 'entryURL' => "http://dmaster.local/civicrm/event/register?reset=1&id={$event['id']}",
+ 'first_name' => 'Participant2',
+ 'last_name' => 'LastName',
+ 'email-Primary' => 'participant2@example.com',
+ 'scriptFee' => '',
+ 'scriptArray' => '',
+ 'campaign_id' => NULL,
+ 'is_pay_later' => 1,
+ 'participant_role_id' => '1',
+ 'currencyID' => 'USD',
+ 'amount_level' => '\ 1Tiny-tots (ages 9-18) - 1\ 1',
+ 'amount' => '200.00',
+ 'tax_amount' => 20,
+ ),
+ array(
+ 'qfKey' => 'e6eb2903eae63d4c5c6cc70bfdda8741_2801',
+ 'entryURL' => "http://dmaster.local/civicrm/event/register?reset=1&id={$event['id']}",
+ 'first_name' => 'Participant3',
+ 'last_name' => 'LastName',
+ 'email-Primary' => 'participant3@example.com',
+ 'scriptFee' => '',
+ 'scriptArray' => '',
+ 'campaign_id' => NULL,
+ 'is_pay_later' => 1,
+ 'participant_role_id' => '1',
+ 'currencyID' => 'USD',
+ 'amount_level' => '\ 1Tiny-tots (ages 5-8) - 1\ 1',
+ 'amount' => '100.00',
+ 'tax_amount' => 10,
+ ),
+ ),
+ ));
+ $this->callAPISuccessGetCount('Participant', array(), 3);
+ $contribution = $this->callAPISuccessGetSingle(
+ 'Contribution',
+ array(
+ 'return' => array('tax_amount', 'total_amount'),
+ )
+ );
+ $this->assertEquals($contribution['tax_amount'], 40, 'Invalid Tax amount.');
+ $this->assertEquals($contribution['total_amount'], 440, 'Invalid Tax amount.');
+ }
+
}