GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( b864c9...ed9166 )
by butschster
12:41
created

AdminTest   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 170
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 8

Importance

Changes 0
Metric Value
dl 0
loc 170
c 0
b 0
f 0
rs 10
wmc 11
lcom 1
cbo 8
1
<?php
2
3
use Mockery as m;
4
use SleepingOwl\Admin\Contracts\Template\TemplateInterface;
5
6
class AdminTest extends TestCase
7
{
8
    /**
9
     * @var SleepingOwl\Admin\Admin
10
     */
11
    private $admin;
12
13
    public function tearDown()
14
    {
15
        m::close();
16
    }
17
18
    public function setUp()
19
    {
20
        parent::setUp();
21
22
        $this->admin = new SleepingOwl\Admin\Admin($this->app);
23
24
        $this->admin->setTemplate(m::mock(TemplateInterface::class));
25
    }
26
27
    /**
28
     * @covers SleepingOwl\Admin\Admin::registerModel
29
     * @covers SleepingOwl\Admin\Admin::getModels
30
     */
31
    public function test_registers_models()
32
    {
33
        $this->admin->registerModel(TestModel::class, function () {
34
        });
35
        $this->assertCount(1, $this->admin->getModels());
36
37
        $this->admin->registerModel(TestModel::class, function () {
38
        });
39
        $this->assertCount(1, $this->admin->getModels());
40
41
        $this->admin->registerModel(OtherTestModel::class, function () {
42
        });
43
        $this->assertCount(2, $this->admin->getModels());
44
    }
45
46
    /**
47
     * @covers SleepingOwl\Admin\Admin::register
48
     * @covers SleepingOwl\Admin\Admin::getModels
49
     */
50
    public function test_register_configuration()
51
    {
52
        $configuration = $this->createMock(\SleepingOwl\Admin\Contracts\ModelConfigurationInterface::class);
53
        $configuration->expects($this->once())->method('getClass')->will($this->returnValue(TestModel::class));
54
55
        $this->admin->register($configuration);
56
57
        $configuration1 = $this->createMock(TestModelConfiguration::class);
58
        $configuration1->expects($this->once())->method('getClass')->will($this->returnValue(OtherTestModel::class));
59
        $configuration1->expects($this->once())->method('initialize');
60
61
        $this->admin->register($configuration1);
62
63
        $configuration2 = $this->createMock(TestModelConfiguration::class);
64
        $configuration2->expects($this->once())->method('getClass')->will($this->returnValue(TestModel::class));
65
        $this->admin->register($configuration2);
66
67
        $this->assertCount(2, $this->admin->getModels());
68
    }
69
70
    /**
71
     * @covers SleepingOwl\Admin\Admin::getModel
72
     */
73
    public function test_gets_model()
74
    {
75
        $configuration = $this->createMock(\SleepingOwl\Admin\Contracts\ModelConfigurationInterface::class);
76
        $configuration->expects($this->once())->method('getClass')->will($this->returnValue(TestModel::class));
77
78
        $this->admin->register($configuration);
79
80
        $model = $this->admin->getModel(TestModel::class);
81
        $this->assertEquals($configuration, $model);
82
83
        $model = $this->admin->getModel(new TestModel());
84
        $this->assertEquals($configuration, $model);
85
86
        $model = $this->admin->getModel(OtherTestModel::class);
87
88
        $this->assertInstanceOf(
89
            \SleepingOwl\Admin\Contracts\ModelConfigurationInterface::class,
90
            $model
91
        );
92
    }
93
94
    /**
95
     * @covers SleepingOwl\Admin\Admin::setModel
96
     */
97
    public function test_set_model()
98
    {
99
        $configuration = $this->createMock(\SleepingOwl\Admin\Contracts\ModelConfigurationInterface::class);
100
101
        $this->admin->setModel(TestClass::class, $configuration);
102
        $this->assertCount(1, $this->admin->getModels());
103
    }
104
105
    /**
106
     * @covers SleepingOwl\Admin\Admin::hasModel
107
     */
108
    public function test_checks_if_has_model()
109
    {
110
        $this->admin->registerModel(TestModel::class, function () {
111
        });
112
        $this->assertTrue($this->admin->hasModel(TestModel::class));
113
        $this->assertFalse($this->admin->hasModel(OtherTestModel::class));
114
    }
115
116
    /**
117
     * @covers SleepingOwl\Admin\Admin::template
118
     */
119
    public function test_returns_template()
120
    {
121
        $this->assertInstanceOf(
122
            TemplateInterface::class,
123
            $this->admin->template()
124
        );
125
    }
126
127
    /**
128
     * @covers SleepingOwl\Admin\Admin::addMenuPage
129
     */
130
    public function test_adds_menu_page()
131
    {
132
        $navigation = m::mock(\SleepingOwl\Admin\Navigation::class);
133
        $this->app->instance('sleeping_owl.navigation', $navigation);
134
        $navigation->shouldReceive('addPage')->once();
135
136
        $this->admin->addMenuPage(TestModel::class);
137
    }
138
139
    /**
140
     * @covers SleepingOwl\Admin\Admin::getNavigation
141
     */
142
    public function test_get_navigation()
143
    {
144
        $navigation = m::mock(\SleepingOwl\Admin\Navigation::class);
145
146
        $this->admin->setTemplate($template = m::mock(TemplateInterface::class));
147
        $template->shouldReceive('navigation')->once()->andReturn($navigation);
148
149
        $this->assertEquals(
150
            $navigation,
151
            $this->admin->navigation()
152
        );
153
    }
154
155
    /**
156
     * @covers SleepingOwl\Admin\Admin::view
157
     */
158
    public function test_renders_view()
159
    {
160
        $arguments = ['content', 'title'];
161
        $controllerClass = \SleepingOwl\Admin\Http\Controllers\AdminController::class;
162
163
        $controller = m::mock($controllerClass);
164
        $this->app->instance($controllerClass, $controller);
165
        $controller->shouldReceive('renderContent')
166
                   ->withArgs($arguments)
167
                   ->once();
168
169
        $this->admin->view($arguments[0], $arguments[1]);
170
    }
171
}
172
173
class TestModel extends \Illuminate\Database\Eloquent\Model
174
{
175
}
176
class OtherTestModel extends \Illuminate\Database\Eloquent\Model
177
{
178
}
179
180
abstract class TestModelConfiguration implements \SleepingOwl\Admin\Contracts\ModelConfigurationInterface, \SleepingOwl\Admin\Contracts\Initializable
181
{
182
}
183