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.
|
|
<?php
namespace tests\unit\models;
use app\models\ContactForm; use yii\mail\MessageInterface;
class ContactFormTest extends \Codeception\Test\Unit { /** * @var \UnitTester */ public $tester;
public function testEmailIsSentOnContact() { $model = new ContactForm();
$model->attributes = [ 'name' => 'Tester', 'email' => 'tester@example.com', 'subject' => 'very important letter subject', 'body' => 'body of current message', 'verifyCode' => 'testme', ];
verify($model->contact('admin@example.com'))->notEmpty();
// using Yii2 module actions to check email was sent
$this->tester->seeEmailIsSent();
/** @var MessageInterface $emailMessage */ $emailMessage = $this->tester->grabLastSentEmail(); verify($emailMessage)->instanceOf('yii\mail\MessageInterface'); verify($emailMessage->getTo())->arrayHasKey('admin@example.com'); verify($emailMessage->getFrom())->arrayHasKey('noreply@example.com'); verify($emailMessage->getReplyTo())->arrayHasKey('tester@example.com'); verify($emailMessage->getSubject())->equals('very important letter subject'); verify($emailMessage->toString())->stringContainsString('body of current message'); } }
|