/** * Test the submit function of the membership form. */ public function testSubmitRecurCompleteInstant() { $form = $this->getForm(); $mut = new CiviMailUtils($this, TRUE); $processor = Civi\Payment\System::singleton()->getById($this->_paymentProcessorID); $processor->setDoDirectPaymentResult(array('payment_status_id' => 1, 'trxn_id' => 'kettles boil water', 'fee_amount' => 0.14)); $this->callAPISuccess('MembershipType', 'create', array('id' => $this->membershipTypeAnnualFixedID, 'duration_unit' => 'month', 'duration_interval' => 1, 'auto_renew' => TRUE)); $form->preProcess(); $this->createLoggedInUser(); $params = $this->getBaseSubmitParams(); $form->_mode = 'test'; $form->_contactID = $this->_individualId; $form->testSubmit($params); $membership = $this->callAPISuccessGetSingle('Membership', array('contact_id' => $this->_individualId)); $this->callAPISuccessGetCount('ContributionRecur', array('contact_id' => $this->_individualId), 1); $contribution = $this->callAPISuccess('Contribution', 'getsingle', array('contact_id' => $this->_individualId, 'is_test' => TRUE)); $this->assertEquals(0.14, $contribution['fee_amount']); $this->assertEquals('kettles boil water', $contribution['trxn_id']); $this->callAPISuccessGetCount('LineItem', array('entity_id' => $membership['id'], 'entity_table' => 'civicrm_membership', 'contribution_id' => $contribution['id']), 1); $mut->checkMailLog(array('=========================================================== Billing Name and Address =========================================================== Test 10 Test St Test, AR 90210 US', '=========================================================== Membership Information =========================================================== Membership Type: AnnualFixed Membership Start Date: ', '=========================================================== Credit Card Information =========================================================== Visa ************1111 Expires: ')); $mut->stop(); }
/** * Test sending a mail via the API. */ public function testSendMailEvent() { $mut = new CiviMailUtils($this, TRUE); $contribution = $this->callAPISuccess('contribution', 'create', $this->_params); $event = $this->eventCreate(array('is_email_confirm' => 1, 'confirm_from_email' => '*****@*****.**')); $this->_eventID = $event['id']; $participantParams = array('contact_id' => $this->_individualId, 'event_id' => $this->_eventID, 'status_id' => 1, 'role_id' => 1, 'register_date' => '2007-07-21 00:00:00', 'source' => 'Online Event Registration: API Testing'); $participant = $this->callAPISuccess('participant', 'create', $participantParams); $this->callAPISuccess('participant_payment', 'create', array('participant_id' => $participant['id'], 'contribution_id' => $contribution['id'])); $this->callAPISuccess('contribution', 'sendconfirmation', array('id' => $contribution['id'], 'receipt_from_email' => '*****@*****.**')); $mut->checkMailLog(array('Annual CiviCRM meet', 'Event', 'To: "Mr. Anthony Anderson II" <*****@*****.**>'), array()); $mut->stop(); }
/** * Test the LoadObjects function with recurring membership data. */ public function testsendMailParticipantObjectsCheckLog() { $this->_setUpParticipantObjects(); $values = array(); require_once 'CiviTest/CiviMailUtils.php'; $mut = new CiviMailUtils($this, TRUE); $this->IPN->loadObjects($this->input, $this->ids, $this->objects, FALSE, $this->_processorId); $this->IPN->sendMail($this->input, $this->ids, $this->objects, $values, FALSE, FALSE); $mut->checkMailLog(array('Thank you for your participation', 'Annual CiviCRM meet', 'Mr. Anthony Anderson II')); $mut->stop(); }
/** * Test functions involving premiums. */ public function testPremiumUpdateCreditCard() { $form = new CRM_Contribute_Form_Contribution(); $mut = new CiviMailUtils($this, TRUE); $form->testSubmit(array('total_amount' => 50, 'financial_type_id' => 1, 'receive_date' => '04/21/2015', 'receive_date_time' => '11:27PM', 'contact_id' => $this->_individualId, 'payment_instrument_id' => array_search('Check', $this->paymentInstruments), 'contribution_status_id' => 1, 'product_name' => array($this->products[0]['id'], 1), 'fulfilled_date' => '', 'is_email_receipt' => TRUE, 'from_email_address' => '*****@*****.**', 'payment_processor_id' => $this->paymentProcessor->id, 'credit_card_exp_date' => array('M' => 5, 'Y' => 2026), 'credit_card_number' => '411111111111111'), CRM_Core_Action::ADD, 'live'); $contributionProduct = $this->callAPISuccess('contribution_product', 'getsingle', array()); $this->assertEquals('clumsy smurf', $contributionProduct['product_option']); $mut->checkMailLog(array('Premium Information', 'Smurf', 'clumsy smurf')); $mut->stop(); }
/** * Test submit with a membership block in place. */ public function testSubmitMembershipBlockIsSeparatePaymentZeroDollarsPayLaterWithEmail() { $mut = new CiviMailUtils($this, TRUE); $this->_ids['membership_type'] = array($this->membershipTypeCreate(array('minimum_fee' => 0))); $this->setUpMembershipContributionPage(TRUE); $this->addProfile('supporter_profile', $this->_ids['contribution_page']); $submitParams = array('price_' . $this->_ids['price_field'][0] => reset($this->_ids['price_field_value']), 'id' => (int) $this->_ids['contribution_page'], 'amount' => 0, 'billing_first_name' => 'Billy', 'billing_middle_name' => 'Goat', 'billing_last_name' => 'Gruffalo', 'selectMembership' => $this->_ids['membership_type'], 'payment_processor_id' => 0, 'email-Primary' => '*****@*****.**'); $this->callAPIAndDocument('contribution_page', 'submit', $submitParams, __FUNCTION__, __FILE__, 'submit contribution page', NULL); $contributions = $this->callAPISuccess('contribution', 'get', array('contribution_page_id' => $this->_ids['contribution_page'])); $this->assertCount(2, $contributions['values']); $membershipPayment = $this->callAPISuccess('membership_payment', 'getsingle', array()); $this->assertTrue(in_array($membershipPayment['contribution_id'], array_keys($contributions['values']))); $membership = $this->callAPISuccessGetSingle('membership', array('id' => $membershipPayment['membership_id'])); $this->assertEquals($membership['contact_id'], $contributions['values'][$membershipPayment['contribution_id']]['contact_id']); $mut->checkMailLog(array('Gruffalo', 'General Membership: $ 0.00', 'Membership Fee')); $mut->stop(); $mut->clearMessages(); }