Completed
Push — master ( 7486f5...da6b7c )
by David
02:28
created

FieldHelperTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 47
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testFieldHelperReturnsPrimaryFieldOfNameWhenNoDefaultSpecified() 0 17 1
B testFieldHelperReturnsOverriddenModelDefaultField() 0 26 1
1
<?php
2
3
namespace Test\Unit;
4
5
use Test\Models\Post;
6
use Test\Models\User;
7
use Test\TestCase;
8
use Taskforcedev\CrudApi\Helpers\CrudApi;
9
10
class FieldHelperTest extends TestCase
11
{
12
    public function testFieldHelperReturnsPrimaryFieldOfNameWhenNoDefaultSpecified()
13
    {
14
        $options = [
15
            'namespace' => 'Test\\Models',
16
            'model' => 'post'
17
        ];
18
        $crudApi = new CrudApi($options);
19
        $fieldHelper = $crudApi->fieldHelper;
20
21
        $item = new Post();
22
23
        $config = require __DIR__ . '/../../src/config/crudapi.php';
24
25
        $primary_field = $fieldHelper->getPrimaryField($item, $config);
26
27
        $this->assertEquals('name', $primary_field);
28
    }
29
30
    public function testFieldHelperReturnsOverriddenModelDefaultField()
31
    {
32
        $options = [
33
            'namespace' => 'Test\\Models',
34
            'model' => 'user'
35
        ];
36
        $crudApi = new CrudApi($options);
37
        $fieldHelper = $crudApi->fieldHelper;
38
39
        $item = new User();
40
41
        $config = [
42
            'models' => [
43
                'fields' => [
44
                    'default' => 'name',
45
                    'primary' => [
46
                        'User' => 'forename,surname'
47
                    ],
48
                ],
49
            ],
50
        ];
51
52
        $primary_field = $fieldHelper->getPrimaryField($item, $config);
53
54
        $this->assertEquals('forename,surname', $primary_field);
55
    }
56
}