You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							129 lines
						
					
					
						
							2.3 KiB
						
					
					
				
			
		
		
	
	
							129 lines
						
					
					
						
							2.3 KiB
						
					
					
				| <?php | |
|  | |
| namespace yiiunit\framework\mail; | |
|  | |
| use Yii; | |
| use yii\mail\BaseMailer; | |
| use yii\mail\BaseMessage; | |
| use yiiunit\TestCase; | |
|  | |
| /** | |
|  * @group mail | |
|  */ | |
| class BaseMessageTest extends TestCase | |
| { | |
| 	public function setUp() | |
| 	{ | |
| 		$this->mockApplication([ | |
| 			'components' => [ | |
| 				'mail' => $this->createTestEmailComponent() | |
| 			] | |
| 		]); | |
| 	} | |
|  | |
| 	/** | |
| 	 * @return Mailer test email component instance. | |
| 	 */ | |
| 	protected function createTestEmailComponent() | |
| 	{ | |
| 		$component = new TestMailer(); | |
| 		return $component; | |
| 	} | |
|  | |
| 	/** | |
| 	 * @return TestMailer mailer instance. | |
| 	 */ | |
| 	protected function getMailer() | |
| 	{ | |
| 		return Yii::$app->getComponent('mail'); | |
| 	} | |
|  | |
| 	// Tests : | |
|  | |
| 	public function testSend() | |
| 	{ | |
| 		$mailer = $this->getMailer(); | |
| 		$message = $mailer->compose(); | |
| 		$message->send($mailer); | |
| 		$this->assertEquals($message, $mailer->sentMessages[0], 'Unable to send message!'); | |
| 	} | |
|  | |
| 	public function testToString() | |
| 	{ | |
| 		$mailer = $this->getMailer(); | |
| 		$message = $mailer->compose(); | |
| 		$this->assertEquals($message->toString(), '' . $message); | |
| 	} | |
| } | |
|  | |
| /** | |
|  * Test Mailer class | |
|  */ | |
| class TestMailer extends BaseMailer | |
| { | |
| 	public $messageClass = 'yiiunit\framework\mail\TestMessage'; | |
| 	public $sentMessages = []; | |
|  | |
| 	protected function sendMessage($message) | |
| 	{ | |
| 		$this->sentMessages[] = $message; | |
| 	} | |
| } | |
|  | |
| /** | |
|  * Test Message class | |
|  */ | |
| class TestMessage extends BaseMessage | |
| { | |
| 	public $text; | |
| 	public $html; | |
|  | |
| 	public function getCharset() {return '';} | |
|  | |
| 	public function setCharset($charset) {} | |
|  | |
| 	public function getFrom() {return '';} | |
|  | |
| 	public function setFrom($from) {} | |
|  | |
| 	public function getReplyTo() {return '';} | |
|  | |
| 	public function setReplyTo($replyTo) {} | |
|  | |
| 	public function getTo() {return '';} | |
|  | |
| 	public function setTo($to) {} | |
|  | |
| 	public function getCc() {return '';} | |
|  | |
| 	public function setCc($cc) {} | |
|  | |
| 	public function getBcc() {return '';} | |
|  | |
| 	public function setBcc($bcc) {} | |
|  | |
| 	public function getSubject() {return '';} | |
|  | |
| 	public function setSubject($subject) {} | |
|  | |
| 	public function setTextBody($text) { | |
| 		$this->text = $text; | |
| 	} | |
|  | |
| 	public function setHtmlBody($html) { | |
| 		$this->html = $html; | |
| 	} | |
|  | |
| 	public function attachContent($content, array $options = []) {} | |
|  | |
| 	public function attach($fileName, array $options = []) {} | |
|  | |
| 	public function embed($fileName, array $options = []) {} | |
|  | |
| 	public function embedContent($content, array $options = []) {} | |
|  | |
| 	public function toString() | |
| 	{ | |
| 		return get_class($this); | |
| 	} | |
| }
 | |
| 
 |