Tests: Added ModelTest class

This commit is contained in:
Igor Scheller 2020-05-11 19:57:25 +02:00 committed by msquare
parent 90b5c7bd2a
commit f99e0a229f
11 changed files with 35 additions and 107 deletions

View File

@ -4,13 +4,9 @@ namespace Engelsystem\Test\Unit\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Engelsystem\Models\EventConfig; use Engelsystem\Models\EventConfig;
use Engelsystem\Test\Unit\HasDatabase;
use Engelsystem\Test\Unit\TestCase;
class EventConfigTest extends TestCase class EventConfigTest extends ModelTest
{ {
use HasDatabase;
/** /**
* @covers \Engelsystem\Models\EventConfig::setValueAttribute * @covers \Engelsystem\Models\EventConfig::setValueAttribute
*/ */
@ -117,13 +113,4 @@ class EventConfigTest extends TestCase
} }
}; };
} }
/**
* Prepare test
*/
protected function setUp(): void
{
parent::setUp();
$this->initDatabase();
}
} }

View File

@ -3,14 +3,10 @@
namespace Engelsystem\Test\Unit\Models; namespace Engelsystem\Test\Unit\Models;
use Engelsystem\Models\LogEntry; use Engelsystem\Models\LogEntry;
use Engelsystem\Test\Unit\HasDatabase;
use Engelsystem\Test\Unit\TestCase;
use Psr\Log\LogLevel; use Psr\Log\LogLevel;
class LogEntryTest extends TestCase class LogEntryTest extends ModelTest
{ {
use HasDatabase;
/** /**
* @covers \Engelsystem\Models\LogEntry::filter * @covers \Engelsystem\Models\LogEntry::filter
*/ */
@ -34,13 +30,4 @@ class LogEntryTest extends TestCase
$this->assertCount(3, LogEntry::filter(LogLevel::INFO)); $this->assertCount(3, LogEntry::filter(LogLevel::INFO));
$this->assertCount(1, LogEntry::filter('Oops')); $this->assertCount(1, LogEntry::filter('Oops'));
} }
/**
* Prepare test
*/
protected function setUp(): void
{
parent::setUp();
$this->initDatabase();
}
} }

View File

@ -6,16 +6,12 @@ namespace Engelsystem\Test\Unit\Models;
use Engelsystem\Models\Message; use Engelsystem\Models\Message;
use Engelsystem\Models\User\User; use Engelsystem\Models\User\User;
use Engelsystem\Test\Unit\HasDatabase;
use Engelsystem\Test\Unit\TestCase;
/** /**
* This class provides tests covering the Message model and its relations. * This class provides tests covering the Message model and its relations.
*/ */
class MessageTest extends TestCase class MessageTest extends ModelTest
{ {
use HasDatabase;
/** @var User */ /** @var User */
private $user1; private $user1;
@ -37,7 +33,6 @@ class MessageTest extends TestCase
protected function setUp(): void protected function setUp(): void
{ {
parent::setUp(); parent::setUp();
$this->initDatabase();
$this->user1 = User::create([ $this->user1 = User::create([
'name' => 'user1', 'name' => 'user1',

View File

@ -0,0 +1,21 @@
<?php
namespace Engelsystem\Test\Unit\Models;
use Engelsystem\Test\Unit\HasDatabase;
use Engelsystem\Test\Unit\TestCase;
abstract class ModelTest extends TestCase
{
use HasDatabase;
/**
* Prepare test
*/
protected function setUp(): void
{
parent::setUp();
$this->initDatabase();
}
}

View File

@ -7,16 +7,12 @@ namespace Engelsystem\Test\Unit\Models;
use Engelsystem\Models\News; use Engelsystem\Models\News;
use Engelsystem\Models\NewsComment; use Engelsystem\Models\NewsComment;
use Engelsystem\Models\User\User; use Engelsystem\Models\User\User;
use Engelsystem\Test\Unit\HasDatabase;
use Engelsystem\Test\Unit\TestCase;
/** /**
* This class provides tests for the NewsComments model. * This class provides tests for the NewsComments model.
*/ */
class NewsCommentsTest extends TestCase class NewsCommentsTest extends ModelTest
{ {
use HasDatabase;
/** @var User */ /** @var User */
private $user; private $user;
@ -32,7 +28,6 @@ class NewsCommentsTest extends TestCase
protected function setUp(): void protected function setUp(): void
{ {
parent::setUp(); parent::setUp();
$this->initDatabase();
$this->user = User::create([ $this->user = User::create([
'name' => 'lorem', 'name' => 'lorem',

View File

@ -6,16 +6,12 @@ namespace Engelsystem\Test\Unit\Models;
use Engelsystem\Models\News; use Engelsystem\Models\News;
use Engelsystem\Models\User\User; use Engelsystem\Models\User\User;
use Engelsystem\Test\Unit\HasDatabase;
use Engelsystem\Test\Unit\TestCase;
/** /**
* This class provides tests for the News model. * This class provides tests for the News model.
*/ */
class NewsTest extends TestCase class NewsTest extends ModelTest
{ {
use HasDatabase;
/** @var array */ /** @var array */
private $newsData; private $newsData;
@ -28,7 +24,6 @@ class NewsTest extends TestCase
protected function setUp(): void protected function setUp(): void
{ {
parent::setUp(); parent::setUp();
$this->initDatabase();
$this->user = (new User())->create([ $this->user = (new User())->create([
'name' => 'lorem', 'name' => 'lorem',

View File

@ -6,14 +6,10 @@ namespace Engelsystem\Test\Unit\Models;
use Engelsystem\Models\Question; use Engelsystem\Models\Question;
use Engelsystem\Models\User\User; use Engelsystem\Models\User\User;
use Engelsystem\Test\Unit\HasDatabase;
use Engelsystem\Test\Unit\TestCase;
use Illuminate\Support\Str; use Illuminate\Support\Str;
class QuestionTest extends TestCase class QuestionTest extends ModelTest
{ {
use HasDatabase;
/** /**
* @var User * @var User
*/ */
@ -30,7 +26,6 @@ class QuestionTest extends TestCase
protected function setUp(): void protected function setUp(): void
{ {
parent::setUp(); parent::setUp();
$this->initDatabase();
$this->user1 = User::create( $this->user1 = User::create(
[ [

View File

@ -4,14 +4,11 @@ namespace Engelsystem\Test\Unit\Models\Shifts;
use Engelsystem\Models\Shifts\Schedule; use Engelsystem\Models\Shifts\Schedule;
use Engelsystem\Models\Shifts\ScheduleShift; use Engelsystem\Models\Shifts\ScheduleShift;
use Engelsystem\Test\Unit\HasDatabase; use Engelsystem\Test\Unit\Models\ModelTest;
use Engelsystem\Test\Unit\TestCase;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
class ScheduleShiftTest extends TestCase class ScheduleShiftTest extends ModelTest
{ {
use HasDatabase;
/** /**
* @covers \Engelsystem\Models\Shifts\ScheduleShift::schedule * @covers \Engelsystem\Models\Shifts\ScheduleShift::schedule
*/ */
@ -29,13 +26,4 @@ class ScheduleShiftTest extends TestCase
$this->assertInstanceOf(BelongsTo::class, $scheduleShift->schedule()); $this->assertInstanceOf(BelongsTo::class, $scheduleShift->schedule());
$this->assertEquals($schedule->id, $scheduleShift->schedule->id); $this->assertEquals($schedule->id, $scheduleShift->schedule->id);
} }
/**
* Prepare test
*/
protected function setUp(): void
{
parent::setUp();
$this->initDatabase();
}
} }

View File

@ -4,13 +4,10 @@ namespace Engelsystem\Test\Unit\Models\Shifts;
use Engelsystem\Models\Shifts\Schedule; use Engelsystem\Models\Shifts\Schedule;
use Engelsystem\Models\Shifts\ScheduleShift; use Engelsystem\Models\Shifts\ScheduleShift;
use Engelsystem\Test\Unit\HasDatabase; use Engelsystem\Test\Unit\Models\ModelTest;
use Engelsystem\Test\Unit\TestCase;
class ScheduleTest extends TestCase class ScheduleTest extends ModelTest
{ {
use HasDatabase;
/** /**
* @covers \Engelsystem\Models\Shifts\Schedule::scheduleShifts * @covers \Engelsystem\Models\Shifts\Schedule::scheduleShifts
*/ */
@ -25,13 +22,4 @@ class ScheduleTest extends TestCase
$this->assertCount(3, $schedule->scheduleShifts); $this->assertCount(3, $schedule->scheduleShifts);
} }
/**
* Prepare test
*/
protected function setUp(): void
{
parent::setUp();
$this->initDatabase();
}
} }

View File

@ -13,15 +13,13 @@ use Engelsystem\Models\User\PersonalData;
use Engelsystem\Models\User\Settings; use Engelsystem\Models\User\Settings;
use Engelsystem\Models\User\State; use Engelsystem\Models\User\State;
use Engelsystem\Models\User\User; use Engelsystem\Models\User\User;
use Engelsystem\Test\Unit\HasDatabase; use Engelsystem\Test\Unit\Models\ModelTest;
use Engelsystem\Test\Unit\TestCase;
use Exception; use Exception;
use Illuminate\Support\Str; use Illuminate\Support\Str;
class UserTest extends TestCase class UserTest extends ModelTest
{ {
use ArraySubsetAsserts; use ArraySubsetAsserts;
use HasDatabase;
/** @var string[] */ /** @var string[] */
protected $data = [ protected $data = [
@ -207,13 +205,4 @@ class UserTest extends TestCase
$this->assertContains($question1->id, $answers); $this->assertContains($question1->id, $answers);
$this->assertContains($question2->id, $answers); $this->assertContains($question2->id, $answers);
} }
/**
* Prepare test
*/
protected function setUp(): void
{
parent::setUp();
$this->initDatabase();
}
} }

View File

@ -4,14 +4,11 @@ namespace Engelsystem\Test\Unit\Models\User;
use Engelsystem\Models\BaseModel; use Engelsystem\Models\BaseModel;
use Engelsystem\Models\User\UsesUserModel; use Engelsystem\Models\User\UsesUserModel;
use Engelsystem\Test\Unit\HasDatabase; use Engelsystem\Test\Unit\Models\ModelTest;
use Engelsystem\Test\Unit\TestCase;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
class UsesUserModelTest extends TestCase class UsesUserModelTest extends ModelTest
{ {
use HasDatabase;
/** /**
* @covers \Engelsystem\Models\User\UsesUserModel::user * @covers \Engelsystem\Models\User\UsesUserModel::user
*/ */
@ -25,13 +22,4 @@ class UsesUserModelTest extends TestCase
$this->assertInstanceOf(BelongsTo::class, $model->user()); $this->assertInstanceOf(BelongsTo::class, $model->user());
} }
/**
* Prepare test
*/
protected function setUp(): void
{
parent::setUp();
$this->initDatabase();
}
} }