| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | 
							- <?PHP
 
- namespace Mailgun\Tests\Messages;
 
- use Mailgun\Tests\Mock\Mailgun;
 
- class BatchMessageTest extends \Mailgun\Tests\MailgunTestCase
 
- {
 
-     private $client;
 
-     private $sampleDomain = "samples.mailgun.org";
 
-     public function setUp()
 
-     {
 
-         $this->client = new Mailgun("My-Super-Awesome-API-Key");
 
-     }
 
-     public function testBlankInstantiation()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $this->assertTrue(is_array($message->getMessage()));
 
-     }
 
-     public function testAddRecipient()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $messageObj = $message->getMessage();
 
-         $this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
 
-         $reflectionClass = new \ReflectionClass(get_class($message));
 
-         $property        = $reflectionClass->getProperty('counters');
 
-         $property->setAccessible(true);
 
-         $array = $property->getValue($message);
 
-         $this->assertEquals(1, $array['recipients']['to']);
 
-     }
 
-     public function testRecipientVariablesOnTo()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->addToRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $messageObj = $message->getMessage();
 
-         $this->assertEquals(array("to" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
 
-         $reflectionClass = new \ReflectionClass(get_class($message));
 
-         $property        = $reflectionClass->getProperty('batchRecipientAttributes');
 
-         $property->setAccessible(true);
 
-         $propertyValue = $property->getValue($message);
 
-         $this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']);
 
-         $this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']);
 
-     }
 
-     public function testRecipientVariablesOnCc()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->addCcRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $messageObj = $message->getMessage();
 
-         $this->assertEquals(array("cc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
 
-         $reflectionClass = new \ReflectionClass(get_class($message));
 
-         $property        = $reflectionClass->getProperty('batchRecipientAttributes');
 
-         $property->setAccessible(true);
 
-         $propertyValue = $property->getValue($message);
 
-         $this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']);
 
-         $this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']);
 
-     }
 
-     public function testRecipientVariablesOnBcc()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->addBccRecipient("test@samples.mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $messageObj = $message->getMessage();
 
-         $this->assertEquals(array("bcc" => array("'Test User' <test@samples.mailgun.org>")), $messageObj);
 
-         $reflectionClass = new \ReflectionClass(get_class($message));
 
-         $property        = $reflectionClass->getProperty('batchRecipientAttributes');
 
-         $property->setAccessible(true);
 
-         $propertyValue = $property->getValue($message);
 
-         $this->assertEquals("Test", $propertyValue['test@samples.mailgun.org']['first']);
 
-         $this->assertEquals("User", $propertyValue['test@samples.mailgun.org']['last']);
 
-     }
 
-     public function testAddMultipleBatchRecipients()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         for ($i = 0; $i < 100; $i++) {
 
-             $message->addToRecipient("$i@samples.mailgun.org", array("first" => "Test", "last" => "User $i"));
 
-         }
 
-         $messageObj = $message->getMessage();
 
-         $this->assertEquals(100, count($messageObj["to"]));
 
-     }
 
-     public function testMaximumBatchSize()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $message->setSubject("This is the subject of the message!");
 
-         $message->setTextBody("This is the text body of the message!");
 
-         for ($i = 0; $i < 1001; $i++) {
 
-             $message->addToRecipient("$i@samples.mailgun.org", array("first" => "Test", "last" => "User $i"));
 
-         }
 
-         $messageObj = $message->getMessage();
 
-         $this->assertEquals(1, count($messageObj["to"]));
 
-     }
 
-     public function testAttributeResetOnEndBatchMessage()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $message->setSubject("This is the subject of the message!");
 
-         $message->setTextBody("This is the text body of the message!");
 
-         $message->finalize();
 
-         $messageObj = $message->getMessage();
 
-         $this->assertTrue(true, empty($messageObj));
 
-     }
 
-     public function testDefaultIDInVariables()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $reflectionClass = new \ReflectionClass(get_class($message));
 
-         $property        = $reflectionClass->getProperty('batchRecipientAttributes');
 
-         $property->setAccessible(true);
 
-         $propertyValue = $property->getValue($message);
 
-         $this->assertEquals(1, $propertyValue['test-user@samples.mailgun.org']['id']);
 
-     }
 
-     public function testgetMessageIds()
 
-     {
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->addToRecipient("test-user@samples.mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $message->setFromAddress("samples@mailgun.org", array("first" => "Test", "last" => "User"));
 
-         $message->setSubject("This is the subject of the message!");
 
-         $message->setTextBody("This is the text body of the message!");
 
-         $message->finalize();
 
-         $this->assertEquals(array("1234"), $message->getMessageIds());
 
-     }
 
-     public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoFrom()
 
-     {
 
-         $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->sendMessage(array(1, 2, 3));
 
-     }
 
-     public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTo()
 
-     {
 
-         $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->sendMessage(array("from" => 1, 2, 3));
 
-     }
 
-     public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoSubject()
 
-     {
 
-         $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->sendMessage(array("from" => 1, "to" => 2, 3));
 
-     }
 
-     public function testInvalidMissingRequiredMIMEParametersExceptionGetsFlungNoTextOrHtml()
 
-     {
 
-         $this->setExpectedException("\\Mailgun\\Messages\\Exceptions\\MissingRequiredMIMEParameters");
 
-         $message = $this->client->BatchMessage($this->sampleDomain);
 
-         $message->sendMessage(array("from" => 1, "to" => 2, "subject" => 3));
 
-     }
 
- }
 
 
  |