-
-
Notifications
You must be signed in to change notification settings - Fork 825
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is only called in legacy mailing code now so stop testing it & deprecate it
- Loading branch information
1 parent
a7dfdd1
commit 6acef27
Showing
2 changed files
with
1 addition
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,56 +6,6 @@ | |
*/ | ||
class CRM_Utils_TokenTest extends CiviUnitTestCase { | ||
|
||
/** | ||
* Basic test on getTokenDetails function. | ||
*/ | ||
public function testGetTokenDetails() { | ||
$contactID = $this->individualCreate(['preferred_communication_method' => ['Phone', 'Fax']]); | ||
[$resolvedTokens] = CRM_Utils_Token::getTokenDetails([$contactID]); | ||
$this->assertEquals('Phone, Fax', $resolvedTokens[$contactID]['preferred_communication_method']); | ||
} | ||
|
||
/** | ||
* Test getting contacts w/o primary location type | ||
* | ||
* Check for situation described in CRM-19876. | ||
*/ | ||
public function testSearchByPrimaryLocation() { | ||
// Disable searchPrimaryDetailsOnly civi settings so we could test the functionality without it. | ||
Civi::settings()->set('searchPrimaryDetailsOnly', '0'); | ||
|
||
// create a contact with multiple email address and among which one is primary | ||
$contactID = $this->individualCreate(); | ||
$primaryEmail = uniqid() . '@primary.com'; | ||
$this->callAPISuccess('Email', 'create', [ | ||
'contact_id' => $contactID, | ||
'email' => $primaryEmail, | ||
'location_type_id' => 'Other', | ||
'is_primary' => 1, | ||
]); | ||
$this->callAPISuccess('Email', 'create', [ | ||
'contact_id' => $contactID, | ||
'email' => uniqid() . '@galaxy.com', | ||
'location_type_id' => 'Work', | ||
'is_primary' => 0, | ||
]); | ||
$this->callAPISuccess('Email', 'create', [ | ||
'contact_id' => $contactID, | ||
'email' => uniqid() . '@galaxy.com', | ||
'location_type_id' => 'Work', | ||
'is_primary' => 0, | ||
]); | ||
|
||
$contactIDs = [$contactID]; | ||
|
||
// when we are fetching contact details ON basis of primary address fields | ||
[$contactDetails] = CRM_Utils_Token::getTokenDetails($contactIDs); | ||
$this->assertEquals($primaryEmail, $contactDetails[$contactID]['email']); | ||
|
||
// restore setting | ||
Civi::settings()->set('searchPrimaryDetailsOnly', '1'); | ||
} | ||
|
||
/** | ||
* Test for replaceGreetingTokens. | ||
* | ||
|
@@ -85,68 +35,6 @@ public function testReplaceGreetingTokens(): void { | |
$this->assertEquals($tokenString, 'Custom '); | ||
} | ||
|
||
/** | ||
* Test getting multiple contacts. | ||
* | ||
* Check for situation described in CRM-19876. | ||
*/ | ||
public function testGetTokenDetailsMultipleEmails() { | ||
$i = 0; | ||
|
||
$params = [ | ||
'do_not_phone' => 1, | ||
'do_not_email' => 0, | ||
'do_not_mail' => 1, | ||
'do_not_sms' => 1, | ||
'do_not_trade' => 1, | ||
'is_opt_out' => 0, | ||
'email' => '[email protected]', | ||
'legal_identifier' => 'convict 56', | ||
'nick_name' => 'bob', | ||
'contact_source' => 'bargain basement', | ||
'formal_title' => 'Your silliness', | ||
'job_title' => 'World Saviour', | ||
'gender_id' => '1', | ||
'birth_date' => '2017-01-01', | ||
// 'city' => 'Metropolis', | ||
]; | ||
$contactIDs = []; | ||
while ($i < 27) { | ||
$contactIDs[] = $contactID = $this->individualCreate($params); | ||
$this->callAPISuccess('Email', 'create', [ | ||
'contact_id' => $contactID, | ||
'email' => '[email protected]', | ||
'location_type_id' => 'Other', | ||
'is_primary' => 0, | ||
]); | ||
$this->callAPISuccess('Email', 'create', [ | ||
'contact_id' => $contactID, | ||
'email' => '[email protected]', | ||
'location_type_id' => 'Work', | ||
'is_primary' => 1, | ||
]); | ||
$i++; | ||
} | ||
unset($params['email']); | ||
|
||
[$resolvedTokens] = CRM_Utils_Token::getTokenDetails($contactIDs); | ||
foreach ($contactIDs as $contactID) { | ||
$resolvedContactTokens = $resolvedTokens[$contactID]; | ||
$this->assertEquals('Individual', $resolvedContactTokens['contact_type']); | ||
$this->assertEquals('Anderson, Anthony', $resolvedContactTokens['sort_name']); | ||
$this->assertEquals('en_US', $resolvedContactTokens['preferred_language']); | ||
$this->assertEquals('Both', $resolvedContactTokens['preferred_mail_format']); | ||
$this->assertEquals(3, $resolvedContactTokens['prefix_id']); | ||
$this->assertEquals(3, $resolvedContactTokens['suffix_id']); | ||
$this->assertEquals('Mr. Anthony J. Anderson II', $resolvedContactTokens['addressee_display']); | ||
$this->assertEquals('[email protected]', $resolvedContactTokens['email']); | ||
|
||
foreach ($params as $key => $value) { | ||
$this->assertEquals($value, $resolvedContactTokens[$key]); | ||
} | ||
} | ||
} | ||
|
||
/** | ||
* This is a basic test of the token processor (currently testing TokenCompatSubscriber) | ||
* and makes sure that greeting + contact tokens are replaced. | ||
|