Skip to content

Commit

Permalink
Add unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
Jitendra Purohit committed Feb 14, 2019
1 parent 7d84a47 commit c231c0d
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions tests/phpunit/CRM/Dedupe/MergerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,44 @@ public function testGetMatchesInGroup() {
), $pairs);
}

/**
* Test migration of Membership.
*/
public function testMergeMembership() {
// Contacts setup
$this->setupMatchData();
$originalContactID = $this->contacts[0]['id'];
$duplicateContactID = $this->contacts[1]['id'];

//Add Membership for the duplicate contact.
$memTypeId = $this->membershipTypeCreate();
$membership = $this->callAPISuccess('Membership', 'create', [
'membership_type_id' => $memTypeId,
'contact_id' => $duplicateContactID,
]);
//Assert if 'add new' checkbox is enabled on the merge form.
$rowsElementsAndInfo = CRM_Dedupe_Merger::getRowsElementsAndInfo($originalContactID, $duplicateContactID);
foreach ($rowsElementsAndInfo['elements'] as $element) {
if (!empty($element[3]) && $element[3] == 'add new') {
$checkedAttr = ['checked' => 'checked'];
$this->checkArrayEquals($element[4], $checkedAttr);
}
}

//Merge and move the mem to the main contact.
$this->mergeContacts($originalContactID, $duplicateContactID, [
'move_rel_table_memberships' => 1,
'operation' => ['move_rel_table_memberships' => ['add' => 1]]
]);

//Check if membership is correctly transferred to original contact.
$originalContactMembership = $this->callAPISuccess('Membership', 'get', [
'membership_type_id' => $memTypeId,
'contact_id' => $originalContactID,
]);
$this->assertEquals(1, $originalContactMembership['count']);
}

/**
* CRM-19653 : Test that custom field data should/shouldn't be overriden on
* selecting/not selecting option to migrate data respectively
Expand Down

0 comments on commit c231c0d

Please sign in to comment.