リビジョン | 1f27e48df6c77321106dea8dee25607290e37a4b (tree) |
---|---|
日時 | 2020-11-24 14:06:29 |
作者 | Dmitry Dobryshin <dimkainc@mail...> |
コミッター | Dmitry Dobryshin |
Изменён тест модели типов. Добавлен тест модели состояний.
@@ -0,0 +1,58 @@ | ||
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 | +} | |
\ No newline at end of file |
@@ -2,7 +2,6 @@ | ||
2 | 2 | |
3 | 3 | namespace tests\unit\models; |
4 | 4 | |
5 | -use app\models\LoginForm; | |
6 | 5 | use app\models\Types; |
7 | 6 | |
8 | 7 | class TypesTest extends \Codeception\Test\Unit |
@@ -20,21 +19,30 @@ class TypesTest extends \Codeception\Test\Unit | ||
20 | 19 | |
21 | 20 | protected function _after() |
22 | 21 | { |
23 | - \Yii::$app->user->logout(); | |
24 | 22 | } |
25 | 23 | |
26 | - // tests | |
27 | - public function testEnterType() | |
24 | + public function testEnterNull() | |
28 | 25 | { |
29 | 26 | $this->types = new Types(); |
30 | - | |
27 | + | |
31 | 28 | // Пустое значение недопустимо |
32 | 29 | $this->types->name = NULL; |
33 | 30 | $this->assertFalse($this->types->validate([ 'name' ])); |
34 | - | |
31 | + } | |
32 | + | |
33 | + public function testEnterLong() | |
34 | + { | |
35 | + $this->types = new Types(); | |
36 | + | |
35 | 37 | // Больше 100 символов недопустимо |
36 | 38 | $this->types->name = '**** aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrsssss ****'; |
37 | 39 | $this->assertFalse($this->types->validate([ 'name' ])); |
40 | + } | |
41 | + | |
42 | + // tests | |
43 | + public function testEnterData() | |
44 | + { | |
45 | + $this->types = new Types(); | |
38 | 46 | |
39 | 47 | $validName = '--TEST TYPE--'; |
40 | 48 | // Допустимая комбинация |