Passed
Push — feature/Logging ( 59c536...77a350 )
by Simon
05:01
created

StaticsTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 63
Duplicated Lines 0 %

Importance

Changes 4
Bugs 1 Features 0
Metric Value
wmc 1
eloc 58
c 4
b 1
f 0
dl 0
loc 63
rs 10
1
<?php
2
3
4
namespace Firesphere\SolrSearch\Tests;
5
6
use Firesphere\SolrSearch\Helpers\Statics;
7
use SilverStripe\Dev\SapphireTest;
8
use SilverStripe\ORM\FieldType\DBBigInt;
9
use SilverStripe\ORM\FieldType\DBBoolean;
10
use SilverStripe\ORM\FieldType\DBClassName;
11
use SilverStripe\ORM\FieldType\DBCurrency;
12
use SilverStripe\ORM\FieldType\DBDate;
13
use SilverStripe\ORM\FieldType\DBDatetime;
14
use SilverStripe\ORM\FieldType\DBDecimal;
15
use SilverStripe\ORM\FieldType\DBDouble;
16
use SilverStripe\ORM\FieldType\DBEnum;
17
use SilverStripe\ORM\FieldType\DBFloat;
18
use SilverStripe\ORM\FieldType\DBForeignKey;
19
use SilverStripe\ORM\FieldType\DBHTMLText;
20
use SilverStripe\ORM\FieldType\DBHTMLVarchar;
21
use SilverStripe\ORM\FieldType\DBInt;
22
use SilverStripe\ORM\FieldType\DBMoney;
23
use SilverStripe\ORM\FieldType\DBText;
24
use SilverStripe\ORM\FieldType\DBVarchar;
25
26
class StaticsTest extends SapphireTest
27
{
28
    public static $expected = [
29
        'Enum'                                       => 'string',
30
        DBHTMLText::class                            => 'htmltext',
31
        'DBHTMLText'                                 => 'htmltext',
32
        'ClassName'                                  => 'string',
33
        'BigInt'                                     => 'tint',
34
        'DBDouble'                                   => 'tdouble',
35
        DBText::class                                => 'string',
36
        'DBBigInt'                                   => 'tint',
37
        DBForeignKey::class                          => 'tint',
38
        'DBText'                                     => 'string',
39
        DBDouble::class                              => 'tdouble',
40
        DBBoolean::class                             => 'boolean',
41
        DBBigInt::class                              => 'tint',
42
        'ForeignKey'                                 => 'tint',
43
        'DBDatetime'                                 => 'tdate',
44
        'DBVarchar'                                  => 'string',
45
        '*'                                          => 'text',
46
        'Varchar'                                    => 'string',
47
        'DBMoney'                                    => 'tfloat',
48
        'Boolean'                                    => 'boolean',
49
        'Date'                                       => 'tdate',
50
        'DBDate'                                     => 'tdate',
51
        'HTMLVarchar'                                => 'htmltext',
52
        'DBEnum'                                     => 'string',
53
        DBHTMLVarchar::class                         => 'htmltext',
54
        'Int'                                        => 'tint',
55
        'DBHTMLVarchar'                              => 'htmltext',
56
        DBInt::class                                 => 'tint',
57
        'Double'                                     => 'tdouble',
58
        'Decimal'                                    => 'tfloat',
59
        DBVarchar::class                             => 'string',
60
        DBCurrency::class                            => 'tfloat',
61
        'DBForeignKey'                               => 'tint',
62
        'DBCurrency'                                 => 'tfloat',
63
        DBFloat::class                               => 'tfloat',
64
        'DBInt'                                      => 'tint',
65
        DBClassName::class                           => 'string',
66
        'DBFloat'                                    => 'tfloat',
67
        'DBClassName'                                => 'string',
68
        'DBDecimal'                                  => 'tfloat',
69
        DBDecimal::class                             => 'tfloat',
70
        DBDatetime::class                            => 'tdate',
71
        'Text'                                       => 'string',
72
        'Float'                                      => 'tfloat',
73
        'Datetime'                                   => 'tdate',
74
        'Currency'                                   => 'tfloat',
75
        'HTMLText'                                   => 'htmltext',
76
        'DBBoolean'                                  => 'boolean',
77
        DBMoney::class                               => 'tfloat',
78
        'Money'                                      => 'tfloat',
79
        DBEnum::class                                => 'string',
80
        DBDate::class                                => 'tdate',
81
        'SilverStripe\\ORM\\FieldType\\HTMLFragment' => 'htmltext',
82
        'HTMLFragment'                               => 'htmltext',
83
        'PrimaryKey'                                 => 'tint'
84
    ];
85
86
    public function testGetTypesMap()
87
    {
88
        $this->assertEquals(static::$expected, Statics::getTypeMap());
89
    }
90
}
91