Passed
Push — master ( 7815e3...d45a7a )
by Pieter
04:53
created

DbalOptionsMapperTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 21
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A it_should_give_the_correct_options() 0 18 2
1
<?php
2
3
namespace Avoran\RapidoAdapter\DoctrineDbalStorage;
4
5
use Avoran\Rapido\ReadModel\DataType\Boolean;
6
use Avoran\Rapido\ReadModel\DataType\DateTime;
7
use Avoran\Rapido\ReadModel\DataType\Decimal;
8
use Avoran\Rapido\ReadModel\DataType\Integer;
9
use Avoran\Rapido\ReadModel\DataType\TextString;
10
use PHPUnit\Framework\TestCase;
11
12
class DbalOptionsMapperTest extends TestCase
13
{
14
    /** @test */
15
    public function it_should_give_the_correct_options()
16
    {
17
        $mapper = new DbalOptionsMapper();
18
19
        $defaultOptionFields = [
20
            new Boolean(),
21
            new DateTime(),
22
            new Integer(),
23
            new TextString()
24
        ];
25
26
        foreach ($defaultOptionFields as $field) {
27
            $this->assertEquals(['notnull' => false], $mapper->mapReadModelToDbalOptions($field));
28
        }
29
30
        $expected = ['notnull' => false, 'scale' => 10, 'precision' => 7];
31
        $actual = $mapper->mapReadModelToDbalOptions(new Decimal(10, 7));
32
        $this->assertEquals(sort($expected), sort($actual));
33
    }
34
}
35