Passed
Push — master ( 2dd083...084bc8 )
by Ricardo
06:10 queued 01:22
created

EloquentTestCase   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 10
c 0
b 0
f 0
dl 0
loc 27
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 13 1
A connection() 0 3 1
A schema() 0 3 1
1
<?php
2
3
namespace Cino\LaravelChronos\Tests\Database;
4
5
use Cino\LaravelChronos\Eloquent\Model;
6
use Illuminate\Database\Capsule\Manager as DB;
7
use Illuminate\Database\ConnectionInterface;
8
use Illuminate\Database\Schema\Builder;
9
use PHPUnit\Framework\TestCase;
10
11
abstract class EloquentTestCase extends TestCase
12
{
13
    protected function connection(): ConnectionInterface
14
    {
15
        return Model::getConnectionResolver()->connection();
16
    }
17
18
    abstract protected function createSchema(): void;
19
20
    protected function schema(): Builder
21
    {
22
        return $this->connection()->getSchemaBuilder();
23
    }
24
25
    protected function setUp(): void
26
    {
27
        $db = new DB;
28
29
        $db->addConnection([
30
            'driver' => 'sqlite',
31
            'database' => ':memory:',
32
        ]);
33
34
        $db->bootEloquent();
35
        $db->setAsGlobal();
36
37
        $this->createSchema();
38
    }
39
}
40