OSDN Git Service

Исправлен тест модели типов.
[invent/invent.git] / tests / unit / models / TypesTest.php
1 <?php
2
3 namespace tests\unit\models;
4
5 use app\models\LoginForm;
6 use app\models\Types;
7
8 class TypesTest extends \Codeception\Test\Unit
9 {
10     private $types;
11     /**
12      * @var \UnitTester
13      */
14     protected $tester;
15
16     protected function _before()
17     {
18
19     }
20
21     protected function _after()
22     {
23         \Yii::$app->user->logout();
24     }
25
26     // tests
27     public function testEnterType()
28     {
29         $this->types = new Types();
30
31         // Пустое значение недопустимо
32         $this->types->name = NULL;
33         $this->assertFalse($this->types->validate([ 'name' ]));
34
35         // Больше 100 символов недопустимо
36         $this->types->name = '**** aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrsssss ****';
37         $this->assertFalse($this->types->validate([ 'name' ]));
38
39         $validName = '--TEST TYPE--';
40         // Допустимая комбинация
41         $this->types->name = $validName;
42         $this->assertTrue($this->types->validate([ 'name' ]));
43
44         // Сохранение данных в базу
45         $this->assertTrue($this->types->save());
46         $count = count(Types::find()->where([ 'name' => $validName ])->all());
47         $this->assertGreaterThan(0, $count);
48         $this->assertEquals(1, $count);
49 #        $this->tester->seeInDatabase('types', [ 'name' => $validName ]); // ищет в реальной базе данных, а не в тестовой.
50     }
51 }