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

EloquentTestCase::connection()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
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