OSDN Git Service

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