Update test to check for distinct one-click urls in bulk
[MAILPOET-4703]
This commit is contained in:
@@ -128,16 +128,32 @@ class MailPoetAPITest extends \MailPoetTest {
|
|||||||
public function testItCanAddExtraParametersToMultipleMessages() {
|
public function testItCanAddExtraParametersToMultipleMessages() {
|
||||||
$newsletters = array_fill(0, 10, $this->newsletter);
|
$newsletters = array_fill(0, 10, $this->newsletter);
|
||||||
$subscribers = array_fill(0, 10, $this->subscriber);
|
$subscribers = array_fill(0, 10, $this->subscriber);
|
||||||
|
|
||||||
|
$unsubscribeUrls = array_merge(array_fill(0, 5, 'http://example.com'), array_fill(0, 5, 'https://example.com'));
|
||||||
|
$unsubscribeUrls = array_map(function ($url, $index){
|
||||||
|
return "$url/$index";
|
||||||
|
}, $unsubscribeUrls, array_keys($unsubscribeUrls));
|
||||||
|
|
||||||
|
$oneClickUrls = array_fill(0, 10, 'https://oneclick.com');
|
||||||
|
$oneClickUrls = array_map(function ($url, $index){
|
||||||
|
return "$url/$index";
|
||||||
|
}, $oneClickUrls, array_keys($oneClickUrls));
|
||||||
|
|
||||||
$extraParams = [
|
$extraParams = [
|
||||||
'unsubscribe_url' => array_fill(0, 10, 'http://example.com'),
|
'unsubscribe_url' => $unsubscribeUrls,
|
||||||
'one_click_unsubscribe' => array_fill(0, 10, 'http://oneclick.com'),
|
'one_click_unsubscribe' => $oneClickUrls,
|
||||||
'meta' => array_fill(0, 10, $this->metaInfo),
|
'meta' => array_fill(0, 10, $this->metaInfo),
|
||||||
];
|
];
|
||||||
|
|
||||||
$body = $this->mailer->getBody($newsletters, $subscribers, $extraParams);
|
$body = $this->mailer->getBody($newsletters, $subscribers, $extraParams);
|
||||||
expect(count($body))->equals(10);
|
expect(count($body))->equals(10);
|
||||||
expect($body[0]['unsubscribe'])->equals(['url' => $extraParams['unsubscribe_url'][0], 'post' => false]);
|
|
||||||
expect($body[9]['unsubscribe'])->equals(['url' => $extraParams['unsubscribe_url'][9], 'post' => false]);
|
for ($i = 0; $i < count($newsletters); $i++) {
|
||||||
|
$hasHttps = strpos($extraParams['unsubscribe_url'][$i], 'https://') !== false;
|
||||||
|
$url = $hasHttps ? $extraParams['one_click_unsubscribe'][$i] : $extraParams['unsubscribe_url'][$i];
|
||||||
|
expect($body[$i]['unsubscribe'])->equals(['url' => $url, 'post' => $hasHttps]);
|
||||||
|
}
|
||||||
|
|
||||||
expect($body[0]['meta'])->equals($extraParams['meta'][0]);
|
expect($body[0]['meta'])->equals($extraParams['meta'][0]);
|
||||||
expect($body[9]['meta'])->equals($extraParams['meta'][9]);
|
expect($body[9]['meta'])->equals($extraParams['meta'][9]);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user