OSDN Git Service

86ea793c84a5df51a82855ed1725741962352245
[invent/invent.git] / tests / unit / models / TypesTest.php
1 <?php
2
3 namespace tests\unit\models;
4
5 use app\models\Types;
6
7 class TypesTest extends \Codeception\Test\Unit
8 {
9     private $types;
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     public function testEnterNull()
25     {
26         $this->types = new Types();
27     
28         // Пустое значение недопустимо
29         $this->types->name = NULL;
30         $this->assertFalse($this->types->validate([ 'name' ]));
31     }
32     
33     public function testEnterLong()
34     {
35         $this->types = new Types();
36     
37         // Больше 100 символов недопустимо
38         $this->types->name = '**** aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrsssss ****';
39         $this->assertFalse($this->types->validate([ 'name' ]));
40     }
41
42     // tests
43     public function testEnterData()
44     {
45         $this->types = new Types();
46
47         $validName = '--TEST TYPE--';
48         // Допустимая комбинация
49         $this->types->name = $validName;
50         $this->assertTrue($this->types->validate([ 'name' ]));
51
52         // Сохранение данных в базу
53         $this->assertTrue($this->types->save());
54         $count = count(Types::find()->where([ 'name' => $validName ])->all());
55         $this->assertGreaterThan(0, $count);
56         $this->assertEquals(1, $count);
57 #        $this->tester->seeInDatabase('types', [ 'name' => $validName ]); // ищет в реальной базе данных, а не в тестовой.
58     }
59 }