X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fapi%2Fv3%2FMembershipTest.php;h=3738afe9281499bdd973c19c719bf9e59bf98dde;hb=3d023ead1624cb26e8c5685b8a58f49690c31da3;hp=a35a52ad5be7096621fbd1397066c1ebaf484781;hpb=43ab26fc5cbf60138b3ed1eb7444601333f8ab83;p=civicrm-core.git diff --git a/tests/phpunit/api/v3/MembershipTest.php b/tests/phpunit/api/v3/MembershipTest.php index a35a52ad5b..3738afe928 100644 --- a/tests/phpunit/api/v3/MembershipTest.php +++ b/tests/phpunit/api/v3/MembershipTest.php @@ -93,6 +93,7 @@ class api_v3_MembershipTest extends CiviUnitTestCase { 'civicrm_membership', 'civicrm_membership_payment', 'civicrm_membership_log', + 'civicrm_uf_match', ), TRUE ); @@ -163,6 +164,47 @@ class api_v3_MembershipTest extends CiviUnitTestCase { $this->assertDBRowNotExist('CRM_Contribute_DAO_Contribution', $ContributionCreate['values'][0]['id']); } + /** + * Test Activity creation on cancellation of membership contribution. + */ + public function testActivityForCancelledContribution() { + $contactId = $this->createLoggedInUser(); + $membershipID = $this->contactMembershipCreate($this->_params); + $this->assertDBRowExist('CRM_Member_DAO_Membership', $membershipID); + + $ContributionCreate = $this->callAPISuccess('Contribution', 'create', array( + 'financial_type_id' => "Member Dues", + 'total_amount' => 100, + 'contact_id' => $this->_params['contact_id'], + )); + $membershipPaymentCreate = $this->callAPISuccess('MembershipPayment', 'create', array( + 'sequential' => 1, + 'contribution_id' => $ContributionCreate['id'], + 'membership_id' => $membershipID, + )); + $instruments = $this->callAPISuccess('contribution', 'getoptions', array('field' => 'payment_instrument_id')); + $this->paymentInstruments = $instruments['values']; + + $form = new CRM_Contribute_Form_Contribution(); + $form->_id = $ContributionCreate['id']; + $form->testSubmit(array( + 'total_amount' => 100, + 'financial_type_id' => 1, + 'receive_date' => '04/21/2015', + 'receive_date_time' => '11:27PM', + 'contact_id' => $contactId, + 'payment_instrument_id' => array_search('Check', $this->paymentInstruments), + 'contribution_status_id' => 3, + ), + CRM_Core_Action::UPDATE); + + $activity = $this->callAPISuccess('Activity', 'get', array( + 'activity_type_id' => "Change Membership Status", + 'source_record_id' => $membershipID, + )); + $this->assertNotEmpty($activity['values']); + } + /** * Test membership get. */ @@ -806,6 +848,19 @@ class api_v3_MembershipTest extends CiviUnitTestCase { ); $result = $this->callAPISuccess('membership', 'create', $params); + + //Update Status and check activities created. + $updateStatus = array( + 'id' => $result['id'], + 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Member_BAO_Membership', 'status_id', 'Cancelled'), + ); + $this->callAPISuccess('Membership', 'create', $updateStatus); + $activities = CRM_Activity_BAO_Activity::getContactActivity($this->_contactID); + $this->assertEquals(2, count($activities)); + $activityNames = array_flip(CRM_Utils_Array::collect('activity_name', $activities)); + $this->assertArrayHasKey('Membership Signup', $activityNames); + $this->assertArrayHasKey('Change Membership Status', $activityNames); + $this->callAPISuccess('Membership', 'Delete', array( 'id' => $result['id'], ));