OSDN Git Service

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