Cast campaign ID-s to string (#460)

* 413 error proper handle.

* Cast campaign id-s to string. Added tests for that.

* Style fixes
This commit is contained in:
Radoje Albijanic 2018-04-09 18:51:09 +02:00 committed by Tobias Nyholm
parent 0bd1d8bfc5
commit 83c5f76f87
2 changed files with 13 additions and 5 deletions

View File

@ -368,9 +368,9 @@ class MessageBuilder
{ {
if ($this->counters['attributes']['campaign_id'] < Api::CAMPAIGN_ID_LIMIT) { if ($this->counters['attributes']['campaign_id'] < Api::CAMPAIGN_ID_LIMIT) {
if (isset($this->message['o:campaign'])) { if (isset($this->message['o:campaign'])) {
array_push($this->message['o:campaign'], $campaignId); array_push($this->message['o:campaign'], (string) $campaignId);
} else { } else {
$this->message['o:campaign'] = [$campaignId]; $this->message['o:campaign'] = [(string) $campaignId];
} }
$this->counters['attributes']['campaign_id'] += 1; $this->counters['attributes']['campaign_id'] += 1;

View File

@ -245,7 +245,7 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
); );
} }
public function testsetTestMode() public function testSetTestMode()
{ {
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->setTestMode(true); $message->setTestMode(true);
@ -262,17 +262,25 @@ class MessageBuilderTest extends \Mailgun\Tests\MailgunTestCase
$this->assertEquals(['o:testmode' => 'no'], $messageObj); $this->assertEquals(['o:testmode' => 'no'], $messageObj);
} }
public function addCampaignId() public function testAddCampaignId()
{ {
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();
$message->addCampaignId('ABC123'); $message->addCampaignId('ABC123');
$message->addCampaignId('XYZ987'); $message->addCampaignId('XYZ987');
$message->addCampaignId('TUV456'); $message->addCampaignId('TUV456');
$message->addCampaignId('NONO123');
$messageObj = $message->getMessage(); $messageObj = $message->getMessage();
$this->assertEquals(['o:campaign' => ['ABC123', 'XYZ987', 'TUV456']], $messageObj); $this->assertEquals(['o:campaign' => ['ABC123', 'XYZ987', 'TUV456']], $messageObj);
} }
public function testAddCampaignIdInteger()
{
$message = $this->client->MessageBuilder();
$message->addCampaignId(1111);
$message->addCampaignId(2222);
$messageObj = $message->getMessage();
$this->assertSame(['o:campaign' => ['1111', '2222']], $messageObj);
}
public function testSetDkim() public function testSetDkim()
{ {
$message = $this->client->MessageBuilder(); $message = $this->client->MessageBuilder();