12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace frontend\tests\unit\models;
- use Codeception\Test\Unit;
- use common\fixtures\UserFixture;
- use frontend\models\ResendVerificationEmailForm;
- class ResendVerificationEmailFormTest extends Unit
- {
- /**
- * @var \frontend\tests\UnitTester
- */
- protected $tester;
- public function _before()
- {
- $this->tester->haveFixtures([
- 'user' => [
- 'class' => UserFixture::className(),
- 'dataFile' => codecept_data_dir() . 'user.php'
- ]
- ]);
- }
- public function testWrongEmailAddress()
- {
- $model = new ResendVerificationEmailForm();
- $model->attributes = [
- 'email' => 'aaa@bbb.cc'
- ];
- expect($model->validate())->false();
- expect($model->hasErrors())->true();
- expect($model->getFirstError('email'))->equals('There is no user with this email address.');
- }
- public function testEmptyEmailAddress()
- {
- $model = new ResendVerificationEmailForm();
- $model->attributes = [
- 'email' => ''
- ];
- expect($model->validate())->false();
- expect($model->hasErrors())->true();
- expect($model->getFirstError('email'))->equals('Email cannot be blank.');
- }
- public function testResendToActiveUser()
- {
- $model = new ResendVerificationEmailForm();
- $model->attributes = [
- 'email' => 'test2@mail.com'
- ];
- expect($model->validate())->false();
- expect($model->hasErrors())->true();
- expect($model->getFirstError('email'))->equals('There is no user with this email address.');
- }
- public function testSuccessfullyResend()
- {
- $model = new ResendVerificationEmailForm();
- $model->attributes = [
- 'email' => 'test@mail.com'
- ];
- expect($model->validate())->true();
- expect($model->hasErrors())->false();
- expect($model->sendEmail())->true();
- $this->tester->seeEmailIsSent();
- $mail = $this->tester->grabLastSentEmail();
- expect('valid email is sent', $mail)->isInstanceOf('yii\mail\MessageInterface');
- expect($mail->getTo())->hasKey('test@mail.com');
- expect($mail->getFrom())->hasKey(\Yii::$app->params['supportEmail']);
- expect($mail->getSubject())->equals('Account registration at ' . \Yii::$app->name);
- expect($mail->toString())->stringContainsString('4ch0qbfhvWwkcuWqjN8SWRq72SOw1KYT_1548675330');
- }
- }
|