Merge branch 'tests_improved_verify' of github.com:Ragazzo/yii2 into Ragazzo-tests_improved_verify
Conflicts: apps/basic/tests/README.md apps/basic/tests/unit/models/LoginFormTest.php
This commit is contained in:
commit
ceabdffd57
@ -3,7 +3,13 @@ These tests are developed with [Codeception PHP Testing Framework](http://codece
|
|||||||
|
|
||||||
After creating the basic application, follow these steps to prepare for the tests:
|
After creating the basic application, follow these steps to prepare for the tests:
|
||||||
|
|
||||||
1. In the file `_bootstrap.php`, modify the definition of the constant `TEST_ENTRY_URL` so
|
1. To install `Codeception` and its dependencies through composer, run the following commands:
|
||||||
|
|
||||||
|
```
|
||||||
|
php composer.phar require --dev "codeception/codeception *" "codeception/specify *" "codeception/verify *"
|
||||||
|
```
|
||||||
|
|
||||||
|
2. In the file `_bootstrap.php`, modify the definition of the constant `TEST_ENTRY_URL` so
|
||||||
that it points to the correct entry script URL.
|
that it points to the correct entry script URL.
|
||||||
2. Go to the application base directory and build the test suites:
|
2. Go to the application base directory and build the test suites:
|
||||||
|
|
||||||
|
@ -39,15 +39,16 @@ class ContactFormTest extends TestCase
|
|||||||
$model->contact('admin@example.com');
|
$model->contact('admin@example.com');
|
||||||
|
|
||||||
$this->specify('email should be send', function () {
|
$this->specify('email should be send', function () {
|
||||||
$this->assertFileExists($this->getMessageFile(), 'email file should exist');
|
expect('email file should exist', file_exists($this->getMessageFile()))->true();
|
||||||
});
|
});
|
||||||
|
|
||||||
$this->specify('message should contain correct data', function () use($model) {
|
$this->specify('message should contain correct data', function () use($model) {
|
||||||
$emailMessage = file_get_contents($this->getMessageFile());
|
$emailMessage = file_get_contents($this->getMessageFile());
|
||||||
$this->assertContains($model->name, $emailMessage, 'email should contain user name');
|
|
||||||
$this->assertContains($model->email, $emailMessage, 'email should contain sender email');
|
expect('email should contain user name', $emailMessage)->contains($model->name);
|
||||||
$this->assertContains($model->subject, $emailMessage, 'email should contain subject');
|
expect('email should contain sender email', $emailMessage)->contains($model->email);
|
||||||
$this->assertContains($model->body, $emailMessage, 'email should contain body');
|
expect('email should contain subject', $emailMessage)->contains($model->subject);
|
||||||
|
expect('email should contain body', $emailMessage)->contains($model->body);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@ class LoginFormTest extends TestCase
|
|||||||
$model->password = 'some_password';
|
$model->password = 'some_password';
|
||||||
|
|
||||||
$this->specify('user should not be able to login, when there is no identity' , function () use ($model) {
|
$this->specify('user should not be able to login, when there is no identity' , function () use ($model) {
|
||||||
$this->assertFalse($model->login());
|
expect('model should not login user', $model->login())->false();
|
||||||
$this->assertTrue(Yii::$app->user->isGuest,'user should not be logged in');
|
expect('user should not be logged in', Yii::$app->user->isGuest)->true();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -32,9 +32,9 @@ class LoginFormTest extends TestCase
|
|||||||
$model->password = 'wrong-password';
|
$model->password = 'wrong-password';
|
||||||
|
|
||||||
$this->specify('user should not be able to login with wrong password', function () use ($model) {
|
$this->specify('user should not be able to login with wrong password', function () use ($model) {
|
||||||
$this->assertFalse($model->login());
|
expect('model should not login user', $model->login())->false();
|
||||||
$this->assertArrayHasKey('password', $model->errors);
|
expect('error message should be set', $model->errors)->hasKey('password');
|
||||||
$this->assertTrue(Yii::$app->user->isGuest, 'user should not be logged in');
|
expect('user should not be logged in', Yii::$app->user->isGuest)->true();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,9 +46,9 @@ class LoginFormTest extends TestCase
|
|||||||
$model->password = 'demo';
|
$model->password = 'demo';
|
||||||
|
|
||||||
$this->specify('user should be able to login with correct credentials', function() use ($model) {
|
$this->specify('user should be able to login with correct credentials', function() use ($model) {
|
||||||
$this->assertTrue($model->login());
|
expect('model should login user', $model->login())->true();
|
||||||
$this->assertArrayNotHasKey('password', $model->errors);
|
expect('error message should not be set', $model->errors)->hasntKey('password');
|
||||||
$this->assertFalse(Yii::$app->user->isGuest,'user should be logged in');
|
expect('user should be logged in', Yii::$app->user->isGuest)->false();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user