OSDN Git Service

Добавлен тест модели размещений.
authorDmitry Dobryshin <dimkainc@mail.ru>
Tue, 24 Nov 2020 05:34:29 +0000 (08:34 +0300)
committerDmitry Dobryshin <dimkainc@mail.ru>
Tue, 24 Nov 2020 05:34:29 +0000 (08:34 +0300)
tests/unit/models/LocationsTest.php [new file with mode: 0644]
tests/unit/models/RegionsTest.php [new file with mode: 0644]
tests/unit/models/StatusTest.php
tests/unit/models/TypesTest.php

diff --git a/tests/unit/models/LocationsTest.php b/tests/unit/models/LocationsTest.php
new file mode 100644 (file)
index 0000000..240af06
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+
+namespace tests\unit\models;
+
+use app\models\Regions;
+use app\models\Locations;
+
+class LocationsTest extends \Codeception\Test\Unit
+{
+    private $model;
+    /**
+     * @var \UnitTester
+     */
+    protected $tester;
+
+    protected function _before()
+    {
+        $this->model = new Locations();
+        $region = new Regions();
+        $region->name = '-- TEST REGION FOR LOCATION --';
+        $this->assertTrue($region->save());
+        $this->model->region_id = $region->id;
+    }
+
+    protected function _after()
+    {
+    }
+
+    // tests
+    public function testEnterNull()
+    {
+        // Пустое значение недопустимо
+        $this->model->name = NULL;
+        $this->assertFalse($this->model->validate([ 'name' ]));
+    }
+
+    public function testEnterAbove120()
+    {
+        // Больше 120 символов недопустимо
+        $this->model->name = '**** ' . str_repeat('a', 120) . ' ****';
+        $this->assertFalse($this->model->validate([ 'name' ]));
+    }
+
+    public function testEnterData()
+    {
+        $validName = '--TEST LOCATION--';
+        // Допустимая комбинация
+        $this->model->name = $validName;
+        $this->assertTrue($this->model->validate([ 'name' ]));
+
+        // Сохранение данных в базу
+        $this->assertTrue($this->model->save());
+        $count = count(Locations::find()->where([ 'name' => $validName ])->all());
+        $this->assertGreaterThan(0, $count);
+        $this->assertEquals(1, $count);
+    }
+}
\ No newline at end of file
diff --git a/tests/unit/models/RegionsTest.php b/tests/unit/models/RegionsTest.php
new file mode 100644 (file)
index 0000000..4de102b
--- /dev/null
@@ -0,0 +1,52 @@
+<?php
+
+namespace tests\unit\models;
+
+use app\models\Regions;
+
+class RegionsTest extends \Codeception\Test\Unit
+{
+    private $model;
+    /**
+     * @var \UnitTester
+     */
+    protected $tester;
+
+    protected function _before()
+    {
+        $this->model = new Regions();
+    }
+
+    protected function _after()
+    {
+    }
+
+    // tests
+    public function testEnterNull()
+    {
+        // Пустое значение недопустимо
+        $this->model->name = NULL;
+        $this->assertFalse($this->model->validate([ 'name' ]));
+    }
+
+    public function testEnterAbove120()
+    {
+        // Больше 120 символов недопустимо
+        $this->model->name = '**** ' . str_repeat('a', 120) . ' ****';
+        $this->assertFalse($this->model->validate([ 'name' ]));
+    }
+
+    public function testEnterData()
+    {
+        $validName = '--TEST REGION--';
+        // Допустимая комбинация
+        $this->model->name = $validName;
+        $this->assertTrue($this->model->validate([ 'name' ]));
+
+        // Сохранение данных в базу
+        $this->assertTrue($this->model->save());
+        $count = count(Regions::find()->where([ 'name' => $validName ])->all());
+        $this->assertGreaterThan(0, $count);
+        $this->assertEquals(1, $count);
+    }
+}
\ No newline at end of file
index 019a94b..4dc92ce 100644 (file)
@@ -31,12 +31,12 @@ class StatusTest extends \Codeception\Test\Unit
         $this->assertFalse($this->model->validate([ 'name' ]));
     }
 
-    public function testEnterLong()
+    public function testEnterAbove100()
     {
         $this->model = new Status();
 
         // Больше 100 символов недопустимо
-        $this->model->name = '**** aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrsssss ****';
+        $this->model->name = '**** ' . str_repeat('a', 100) . ' ****';
         $this->assertFalse($this->model->validate([ 'name' ]));
     }
 
index 86ea793..2d78c4a 100644 (file)
@@ -14,7 +14,7 @@ class TypesTest extends \Codeception\Test\Unit
 
     protected function _before()
     {
-
+        $this->types = new Types();
     }
 
     protected function _after()
@@ -23,27 +23,21 @@ class TypesTest extends \Codeception\Test\Unit
 
     public function testEnterNull()
     {
-        $this->types = new Types();
-    
         // Пустое значение недопустимо
         $this->types->name = NULL;
         $this->assertFalse($this->types->validate([ 'name' ]));
     }
-    
-    public function testEnterLong()
+
+    public function testEnterAbove100()
     {
-        $this->types = new Types();
-    
         // Больше 100 символов недопустимо
-        $this->types->name = '**** aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkklllllmmmmmnnnnnooooopppppqqqqqrrrrrsssss ****';
+        $this->types->name = '**** ' . str_repeat('a', 100) . ' ****';
         $this->assertFalse($this->types->validate([ 'name' ]));
     }
 
     // tests
     public function testEnterData()
     {
-        $this->types = new Types();
-
         $validName = '--TEST TYPE--';
         // Допустимая комбинация
         $this->types->name = $validName;