Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Test Failed
Push — add-more-tests ( 65b942...0fe9f9 )
by
unknown
13:54
created

testItMergesAllKindsOfValidation()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 37
Code Lines 22

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 22
nc 1
nop 0
dl 0
loc 37
rs 9.568
c 1
b 0
f 0
1
<?php
2
3
namespace Backpack\CRUD\Tests\Unit\CrudPanel;
4
5
use Backpack\CRUD\Tests\Unit\Models\User;
6
use Backpack\CRUD\Tests\Unit\Http\Requests\UserRequest;
7
8
/**
9
 * @covers Backpack\CRUD\app\Library\CrudPanel\Traits\Validation
10
 */
11
class CrudPanelValidationTest extends BaseDBCrudPanelTest
12
{
13
    /**
14
     * Undocumented function
15
     *
16
     * @group fail
17
     */
18
    public function testItCanAddValidationFromRequest()
19
    {
20
        $this->crudPanel->setModel(User::class);
21
        $this->crudPanel->setValidation(UserRequest::class);
22
23
        $request = request()->create('users/', 'POST', [
24
            'email' => '[email protected]',
25
            'password' => 'test'
26
        ]);
27
       
28
        $this->crudPanel->setRequest($request);
29
        $this->expectException(\Illuminate\Validation\ValidationException::class);
30
        $validatedRequest = $this->crudPanel->validateRequest();
0 ignored issues
show
Unused Code introduced by
The assignment to $validatedRequest is dead and can be removed.
Loading history...
31
    }
32
33
    /**
34
     * Undocumented function
35
     *
36
     * @group fail
37
     */
38
    public function testItMergesFieldValidationWithRequestValidation()
39
    {
40
        $this->crudPanel->setModel(User::class);
41
        $this->crudPanel->setValidation(UserRequest::class);
42
43
        $request = app()->handle(request()->create('users/', 'POST', [
0 ignored issues
show
introduced by
The method handle() does not exist on Illuminate\Container\Container. Are you sure you never get this type here, but always one of the subclasses? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

43
        $request = app()->/** @scrutinizer ignore-call */ handle(request()->create('users/', 'POST', [
Loading history...
44
            'name' => 'test name',
45
            'email' => '[email protected]',
46
            'password' => 'test'
47
        ]));
48
49
        $this->crudPanel->addField([
50
            'name' => 'email',
51
            'validationRules' => 'required'
52
        ]);
53
54
        $this->crudPanel->addField([
55
            'name' => 'name',
56
        ]);
57
58
        $this->crudPanel->addField([
59
            'name' => 'password',
60
        ]);
61
       
62
        $this->crudPanel->setRequest($request);
63
64
        $validatedRequest = $this->crudPanel->validateRequest();
65
        dump(get_class($validatedRequest));
66
        $this->assertEquals(['name', 'email'], array_keys($validatedRequest->validated()));
67
    }
68
69
    /**
70
     * Undocumented function
71
     *
72
     * @group fail
73
     */
74
    public function testItMergesAllKindsOfValidation()
75
    {
76
        $this->crudPanel->setModel(User::class);
77
        
78
        $this->crudPanel->setOperation('create');
79
        $this->crudPanel->setValidation([
80
            'password' => 'required'
81
        ]);
82
        $this->crudPanel->setValidation(UserRequest::class);
83
        $request = request()->create('users/', 'POST', [
84
            'name' => 'test name',
85
            'email' => '[email protected]',
86
            'password' => 'test'
87
        ]);
88
89
        $request->setRouteResolver(function () use ($request) {
90
            return (new Route('POST', 'users', ['UserCrudController', 'create']))->bind($request);
0 ignored issues
show
Bug introduced by
The type Backpack\CRUD\Tests\Unit\CrudPanel\Route was not found. Did you mean Route? If so, make sure to prefix the type with \.
Loading history...
91
        });
92
93
        $this->crudPanel->addField([
94
            'name' => 'email',
95
            'validationRules' => 'required'
96
        ]);
97
98
        $this->crudPanel->addField([
99
            'name' => 'name',
100
        ]);
101
102
        $this->crudPanel->addField([
103
            'name' => 'password',
104
        ]);
105
       //dd($request);
106
        $this->crudPanel->setRequest($request);
107
108
        $validatedRequest = $this->crudPanel->validateRequest();
109
        dd(get_class($validatedRequest));
110
        $this->assertEquals(['name', 'email', 'password'], array_keys($validatedRequest->validated()));
111
    }
112
}
113