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.

Zookal_Mock_Test_Model_ConfigTest::getInstance()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
/**
4
 * @category    Zookal_Mock
5
 * @package     Helper
6
 * @author      Cyrill Schumacher | {firstName}@{lastName}.fm | @SchumacherFM
7
 * @copyright   Copyright (c) Zookal Pty Ltd
8
 * @license     OSL - Open Software Licence 3.0 | http://opensource.org/licenses/osl-3.0.php
9
 */
10
class Zookal_Mock_Test_Model_ConfigTest extends EcomDev_PHPUnit_Test_Case
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
11
{
12
    protected $_class = 'Zookal_Mock_Model_Config';
13
14
    /**
15
     * @param string|Varien_Simplexml_Element $sourceData
16
     *
17
     * @return Zookal_Mock_Model_Config
18
     */
19
    public function getInstance($sourceData = null)
20
    {
21
        return new $this->_class($sourceData);
22
    }
23
24
    /**
25
     * @test
26
     */
27
    public function itShouldExist()
28
    {
29
        $this->assertTrue(class_exists($this->_class), "Failed asserting {$this->_class} exists");
30
    }
31
32
    /**
33
     * @test
34
     */
35
    public function itShouldExtendCoreModelConfig()
36
    {
37
        $this->assertInstanceOf('Mage_Core_Model_Config', $this->getInstance());
38
    }
39
40
    /**
41
     * @test
42
     */
43
    public function itShouldHaveMethods()
44
    {
45
        $methods = array(
46
            'getDisabledModules',
47
            'removeDependencies',
48
            'getDependencyLiars',
49
        );
50
        //$this->assertTrue(method_exists($this->class, ));
0 ignored issues
show
Unused Code Comprehensibility introduced by
72% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
51
        $classMethods = array_flip(get_class_methods($this->_class));
52
        foreach ($methods as $method) {
53
            $this->assertArrayHasKey($method, $classMethods);
54
        }
55
    }
56
57
    /**
58
     * @test
59
     */
60
    public function itShouldGetTheDisabledModules()
61
    {
62
        $disabledModules = $this->getInstance()->getDisabledModules($this->getModuleFixture());
63
64
        $this->assertCount(24, $disabledModules);
65
        $this->assertArrayHasKey('Mage_Backup', $disabledModules);
66
        $this->assertArrayHasKey('Phoenix_Moneybookers', $disabledModules);
67
    }
68
69
    /**
70
     * @test
71
     */
72
    public function itShouldRemoveTheDependencies()
73
    {
74
        $instance              = $this->getInstance();
75
        $modulesNoDependencies = $instance->removeDependencies($this->getModuleFixture());
76
77
        foreach ($modulesNoDependencies as $module => $config) {
78
            $liarModules = $this->_getLiarModules($module, $config);
79
            if (null !== $liarModules) {
80
81
                $depends = $config['depends'];
82
                foreach ($liarModules as $liarModule) {
83
                    if (false === $modulesNoDependencies[$liarModule]['active']) {
84
                        $this->assertArrayNotHasKey(
85
                            $liarModule,
86
                            $depends,
87
                            $module . ' -> ' . $liarModule . ' -> ' . var_export($depends, true)
88
                        );
89
                    }
90
                }
91
            }
92
        }
93
    }
94
95
    /**
96
     * @param       $module
97
     * @param array $config
98
     *
99
     * @return null|array
100
     */
101
    protected function _getLiarModules($module, array $config)
102
    {
103
        $liars = $this->getInstance()->getDependencyLiars();
104
        if (isset($liars[$module]) && true === $config['active']) {
105
            return $liars[$module];
106
        }
107
        return null;
108
    }
109
110
    /**
111
     * @return array
112
     */
113
    protected function getModuleFixture()
114
    {
115
        return array(
116
            'Mage_Core'              =>
117
                array(
118
                    'module'  => 'Mage_Core',
119
                    'depends' =>
120
                        array(),
121
                    'active'  => true,
122
                ),
123
            'Mage_Eav'               =>
124
                array(
125
                    'module'  => 'Mage_Eav',
126
                    'depends' =>
127
                        array(
128
                            'Mage_Core' => true,
129
                        ),
130
                    'active'  => true,
131
                ),
132
            'Mage_Page'              =>
133
                array(
134
                    'module'  => 'Mage_Page',
135
                    'depends' =>
136
                        array(
137
                            'Mage_Core' => true,
138
                        ),
139
                    'active'  => true,
140
                ),
141
            'Mage_Install'           =>
142
                array(
143
                    'module'  => 'Mage_Install',
144
                    'depends' =>
145
                        array(
146
                            'Mage_Core' => true,
147
                        ),
148
                    'active'  => false,
149
                ),
150
            'Mage_Admin'             =>
151
                array(
152
                    'module'  => 'Mage_Admin',
153
                    'depends' =>
154
                        array(
155
                            'Mage_Core' => true,
156
                        ),
157
                    'active'  => true,
158
                ),
159
            'Mage_Rule'              =>
160
                array(
161
                    'module'  => 'Mage_Rule',
162
                    'depends' =>
163
                        array(
164
                            'Mage_Core' => true,
165
                        ),
166
                    'active'  => true,
167
                ),
168
            'Mage_Adminhtml'         =>
169
                array(
170
                    'module'  => 'Mage_Adminhtml',
171
                    'depends' =>
172
                        array(
173
                            'Mage_Admin' => true,
174
                        ),
175
                    'active'  => true,
176
                ),
177
            'Mage_AdminNotification' =>
178
                array(
179
                    'module'  => 'Mage_AdminNotification',
180
                    'depends' =>
181
                        array(
182
                            'Mage_Core'      => true,
183
                            'Mage_Adminhtml' => true,
184
                        ),
185
                    'active'  => false,
186
                ),
187
            'Mage_Cron'              =>
188
                array(
189
                    'module'  => 'Mage_Cron',
190
                    'depends' =>
191
                        array(
192
                            'Mage_Core' => true,
193
                        ),
194
                    'active'  => true,
195
                ),
196
            'Mage_Directory'         =>
197
                array(
198
                    'module'  => 'Mage_Directory',
199
                    'depends' =>
200
                        array(
201
                            'Mage_Core' => true,
202
                        ),
203
                    'active'  => true,
204
                ),
205
            'Mage_Customer'          =>
206
                array(
207
                    'module'  => 'Mage_Customer',
208
                    'depends' =>
209
                        array(
210
                            'Mage_Eav'       => true,
211
                            'Mage_Dataflow'  => true,
212
                            'Mage_Directory' => true,
213
                        ),
214
                    'active'  => true,
215
                ),
216
            'Mage_Catalog'           =>
217
                array(
218
                    'module'  => 'Mage_Catalog',
219
                    'depends' =>
220
                        array(
221
                            'Mage_Eav'      => true,
222
                            'Mage_Dataflow' => true,
223
                            'Mage_Cms'      => true,
224
                            'Mage_Index'    => true,
225
                        ),
226
                    'active'  => true,
227
                ),
228
            'Mage_CatalogRule'       =>
229
                array(
230
                    'module'  => 'Mage_CatalogRule',
231
                    'depends' =>
232
                        array(
233
                            'Mage_Rule'     => true,
234
                            'Mage_Catalog'  => true,
235
                            'Mage_Customer' => true,
236
                        ),
237
                    'active'  => true,
238
                ),
239
            'Mage_CatalogIndex'      =>
240
                array(
241
                    'module'  => 'Mage_CatalogIndex',
242
                    'depends' =>
243
                        array(
244
                            'Mage_Catalog'     => true,
245
                            'Mage_Eav'         => true,
246
                            'Mage_CatalogRule' => true,
247
                        ),
248
                    'active'  => true,
249
                ),
250
            'Mage_CatalogSearch'     =>
251
                array(
252
                    'module'  => 'Mage_CatalogSearch',
253
                    'depends' =>
254
                        array(
255
                            'Mage_Catalog' => true,
256
                        ),
257
                    'active'  => true,
258
                ),
259
            'Mage_Sales'             =>
260
                array(
261
                    'module'  => 'Mage_Sales',
262
                    'depends' =>
263
                        array(
264
                            'Mage_Rule'     => true,
265
                            'Mage_Catalog'  => true,
266
                            'Mage_Customer' => true,
267
                            'Mage_Payment'  => true,
268
                        ),
269
                    'active'  => true,
270
                ),
271
            'Mage_SalesRule'         =>
272
                array(
273
                    'module'  => 'Mage_SalesRule',
274
                    'depends' =>
275
                        array(
276
                            'Mage_Rule'    => true,
277
                            'Mage_Catalog' => true,
278
                            'Mage_Sales'   => true,
279
                        ),
280
                    'active'  => true,
281
                ),
282
            'Mage_Checkout'          =>
283
                array(
284
                    'module'  => 'Mage_Checkout',
285
                    'depends' =>
286
                        array(
287
                            'Mage_Sales'            => true,
288
                            'Mage_CatalogInventory' => true,
289
                        ),
290
                    'active'  => true,
291
                ),
292
            'Mage_Shipping'          =>
293
                array(
294
                    'module'  => 'Mage_Shipping',
295
                    'depends' =>
296
                        array(
297
                            'Mage_Core'    => true,
298
                            'Mage_Catalog' => true,
299
                        ),
300
                    'active'  => true,
301
                ),
302
            'Mage_Payment'           =>
303
                array(
304
                    'module'  => 'Mage_Payment',
305
                    'depends' =>
306
                        array(
307
                            'Mage_Core'    => true,
308
                            'Mage_Catalog' => true,
309
                        ),
310
                    'active'  => true,
311
                ),
312
            'Mage_Usa'               =>
313
                array(
314
                    'module'  => 'Mage_Usa',
315
                    'depends' =>
316
                        array(
317
                            'Mage_Sales'    => true,
318
                            'Mage_Shipping' => true,
319
                        ),
320
                    'active'  => false,
321
                ),
322
            'Mage_Paygate'           =>
323
                array(
324
                    'module'  => 'Mage_Paygate',
325
                    'depends' =>
326
                        array(
327
                            'Mage_Payment' => true,
328
                        ),
329
                    'active'  => true,
330
                ),
331
            'Mage_Paypal'            =>
332
                array(
333
                    'module'  => 'Mage_Paypal',
334
                    'depends' =>
335
                        array(
336
                            'Mage_Paygate'  => true,
337
                            'Mage_Checkout' => true,
338
                            'Mage_Sales'    => true,
339
                        ),
340
                    'active'  => false,
341
                ),
342
            'Mage_PaypalUk'          =>
343
                array(
344
                    'module'  => 'Mage_PaypalUk',
345
                    'depends' =>
346
                        array(
347
                            'Mage_Paygate'  => true,
348
                            'Mage_Checkout' => true,
349
                            'Mage_Sales'    => true,
350
                            'Mage_Paypal'   => true,
351
                        ),
352
                    'active'  => false,
353
                ),
354
            'Mage_GoogleCheckout'    =>
355
                array(
356
                    'module'  => 'Mage_GoogleCheckout',
357
                    'depends' =>
358
                        array(
359
                            'Mage_Sales'   => true,
360
                            'Mage_Payment' => true,
361
                            'Mage_Usa'     => true,
362
                        ),
363
                    'active'  => false,
364
                ),
365
            'Mage_Log'               =>
366
                array(
367
                    'module'  => 'Mage_Log',
368
                    'depends' =>
369
                        array(
370
                            'Mage_Core'     => true,
371
                            'Mage_Customer' => true,
372
                        ),
373
                    'active'  => false,
374
                ),
375
            'Mage_Backup'            =>
376
                array(
377
                    'module'  => 'Mage_Backup',
378
                    'depends' =>
379
                        array(
380
                            'Mage_Core' => true,
381
                        ),
382
                    'active'  => false,
383
                ),
384
            'Mage_Poll'              =>
385
                array(
386
                    'module'  => 'Mage_Poll',
387
                    'depends' =>
388
                        array(
389
                            'Mage_Core' => true,
390
                            'Mage_Cms'  => true,
391
                        ),
392
                    'active'  => false,
393
                ),
394
            'Mage_Rating'            =>
395
                array(
396
                    'module'  => 'Mage_Rating',
397
                    'depends' =>
398
                        array(
399
                            'Mage_Core'   => true,
400
                            'Mage_Review' => true,
401
                        ),
402
                    'active'  => false,
403
                ),
404
            'Mage_Review'            =>
405
                array(
406
                    'module'  => 'Mage_Review',
407
                    'depends' =>
408
                        array(
409
                            'Mage_Catalog' => true,
410
                            'Mage_Core'    => true,
411
                        ),
412
                    'active'  => false,
413
                ),
414
            'Mage_Tag'               =>
415
                array(
416
                    'module'  => 'Mage_Tag',
417
                    'depends' =>
418
                        array(
419
                            'Mage_Catalog' => true,
420
                        ),
421
                    'active'  => false,
422
                ),
423
            'Mage_Cms'               =>
424
                array(
425
                    'module'  => 'Mage_Cms',
426
                    'depends' =>
427
                        array(
428
                            'Mage_Core' => true,
429
                        ),
430
                    'active'  => true,
431
                ),
432
            'Mage_Reports'           =>
433
                array(
434
                    'module'  => 'Mage_Reports',
435
                    'depends' =>
436
                        array(
437
                            'Mage_Customer' => true,
438
                            'Mage_Catalog'  => true,
439
                            'Mage_Sales'    => true,
440
                            'Mage_Cms'      => true,
441
                        ),
442
                    'active'  => true,
443
                ),
444
            'Mage_Newsletter'        =>
445
                array(
446
                    'module'  => 'Mage_Newsletter',
447
                    'depends' =>
448
                        array(
449
                            'Mage_Core'     => true,
450
                            'Mage_Customer' => true,
451
                            'Mage_Eav'      => true,
452
                            'Mage_Widget'   => true,
453
                        ),
454
                    'active'  => true,
455
                ),
456
            'Mage_Tax'               =>
457
                array(
458
                    'module'  => 'Mage_Tax',
459
                    'depends' =>
460
                        array(
461
                            'Mage_Catalog'  => true,
462
                            'Mage_Customer' => true,
463
                        ),
464
                    'active'  => true,
465
                ),
466
            'Mage_Wishlist'          =>
467
                array(
468
                    'module'  => 'Mage_Wishlist',
469
                    'depends' =>
470
                        array(
471
                            'Mage_Customer' => true,
472
                            'Mage_Catalog'  => true,
473
                        ),
474
                    'active'  => false,
475
                ),
476
            'Mage_GoogleAnalytics'   =>
477
                array(
478
                    'module'  => 'Mage_GoogleAnalytics',
479
                    'depends' =>
480
                        array(
481
                            'Mage_Core' => true,
482
                        ),
483
                    'active'  => true,
484
                ),
485
            'Mage_CatalogInventory'  =>
486
                array(
487
                    'module'  => 'Mage_CatalogInventory',
488
                    'depends' =>
489
                        array(
490
                            'Mage_Catalog' => true,
491
                        ),
492
                    'active'  => true,
493
                ),
494
            'Mage_GiftMessage'       =>
495
                array(
496
                    'module'  => 'Mage_GiftMessage',
497
                    'depends' =>
498
                        array(
499
                            'Mage_Catalog' => true,
500
                            'Mage_Sales'   => true,
501
                        ),
502
                    'active'  => true,
503
                ),
504
            'Mage_Sendfriend'        =>
505
                array(
506
                    'module'  => 'Mage_Sendfriend',
507
                    'depends' =>
508
                        array(
509
                            'Mage_Catalog' => true,
510
                        ),
511
                    'active'  => false,
512
                ),
513
            'Mage_Media'             =>
514
                array(
515
                    'module'  => 'Mage_Media',
516
                    'depends' =>
517
                        array(
518
                            'Mage_Core' => true,
519
                        ),
520
                    'active'  => true,
521
                ),
522
            'Mage_Sitemap'           =>
523
                array(
524
                    'module'  => 'Mage_Sitemap',
525
                    'depends' =>
526
                        array(
527
                            'Mage_Catalog' => true,
528
                        ),
529
                    'active'  => true,
530
                ),
531
            'Mage_Contacts'          =>
532
                array(
533
                    'module'  => 'Mage_Contacts',
534
                    'depends' =>
535
                        array(
536
                            'Mage_Core' => true,
537
                        ),
538
                    'active'  => true,
539
                ),
540
            'Mage_Dataflow'          =>
541
                array(
542
                    'module'  => 'Mage_Dataflow',
543
                    'depends' =>
544
                        array(
545
                            'Mage_Core' => true,
546
                        ),
547
                    'active'  => false,
548
                ),
549
            'Mage_Rss'               =>
550
                array(
551
                    'module'  => 'Mage_Rss',
552
                    'depends' =>
553
                        array(
554
                            'Mage_Catalog'          => true,
555
                            'Mage_CatalogInventory' => true,
556
                            'Mage_Sales'            => true,
557
                            'Mage_SalesRule'        => true,
558
                            'Mage_Wishlist'         => true,
559
                        ),
560
                    'active'  => false,
561
                ),
562
            'Mage_ProductAlert'      =>
563
                array(
564
                    'module'  => 'Mage_ProductAlert',
565
                    'depends' =>
566
                        array(
567
                            'Mage_Catalog'  => true,
568
                            'Mage_Customer' => true,
569
                        ),
570
                    'active'  => false,
571
                ),
572
            'Mage_Index'             =>
573
                array(
574
                    'module'  => 'Mage_Index',
575
                    'depends' =>
576
                        array(
577
                            'Mage_Core' => true,
578
                        ),
579
                    'active'  => true,
580
                ),
581
            'Mage_Api'               =>
582
                array(
583
                    'module'  => 'Mage_Api',
584
                    'depends' =>
585
                        array(
586
                            'Mage_Core' => true,
587
                        ),
588
                    'active'  => true,
589
                ),
590
            'Mage_Api2'              =>
591
                array(
592
                    'module'  => 'Mage_Api2',
593
                    'depends' =>
594
                        array(
595
                            'Mage_Core'  => true,
596
                            'Mage_Oauth' => true,
597
                        ),
598
                    'active'  => true,
599
                ),
600
            'Mage_Authorizenet'      =>
601
                array(
602
                    'module'  => 'Mage_Authorizenet',
603
                    'depends' =>
604
                        array(
605
                            'Mage_Paygate'  => true,
606
                            'Mage_Sales'    => true,
607
                            'Mage_Checkout' => true,
608
                        ),
609
                    'active'  => false,
610
                ),
611
            'Mage_Bundle'            =>
612
                array(
613
                    'module'  => 'Mage_Bundle',
614
                    'depends' =>
615
                        array(
616
                            'Mage_Catalog' => true,
617
                        ),
618
                    'active'  => true,
619
                ),
620
            'Mage_Captcha'           =>
621
                array(
622
                    'module'  => 'Mage_Captcha',
623
                    'depends' =>
624
                        array(
625
                            'Mage_Customer'  => true,
626
                            'Mage_Adminhtml' => true,
627
                        ),
628
                    'active'  => false,
629
                ),
630
            'Mage_Centinel'          =>
631
                array(
632
                    'module'  => 'Mage_Centinel',
633
                    'depends' =>
634
                        array(
635
                            'Mage_Payment'  => true,
636
                            'Mage_Checkout' => true,
637
                        ),
638
                    'active'  => true,
639
                ),
640
            'Mage_Compiler'          =>
641
                array(
642
                    'module'  => 'Mage_Compiler',
643
                    'depends' =>
644
                        array(
645
                            'Mage_Core' => true,
646
                        ),
647
                    'active'  => false,
648
                ),
649
            'Mage_Connect'           =>
650
                array(
651
                    'module'  => 'Mage_Connect',
652
                    'depends' =>
653
                        array(),
654
                    'active'  => false,
655
                ),
656
            'Mage_CurrencySymbol'    =>
657
                array(
658
                    'module'  => 'Mage_CurrencySymbol',
659
                    'depends' =>
660
                        array(
661
                            'Mage_Widget' => true,
662
                        ),
663
                    'active'  => true,
664
                ),
665
            'Mage_Downloadable'      =>
666
                array(
667
                    'module'  => 'Mage_Downloadable',
668
                    'depends' =>
669
                        array(
670
                            'Mage_Catalog' => true,
671
                        ),
672
                    'active'  => true,
673
                ),
674
            'Mage_ImportExport'      =>
675
                array(
676
                    'module'  => 'Mage_ImportExport',
677
                    'depends' =>
678
                        array(
679
                            'Mage_Catalog' => true,
680
                        ),
681
                    'active'  => true,
682
                ),
683
            'Mage_Oauth'             =>
684
                array(
685
                    'module'  => 'Mage_Oauth',
686
                    'depends' =>
687
                        array(
688
                            'Mage_Core' => true,
689
                        ),
690
                    'active'  => true,
691
                ),
692
            'Mage_PageCache'         =>
693
                array(
694
                    'module'  => 'Mage_PageCache',
695
                    'depends' =>
696
                        array(
697
                            'Mage_Core' => true,
698
                        ),
699
                    'active'  => true,
700
                ),
701
            'Mage_Persistent'        =>
702
                array(
703
                    'module'  => 'Mage_Persistent',
704
                    'depends' =>
705
                        array(
706
                            'Mage_Adminhtml' => true,
707
                            'Mage_Checkout'  => true,
708
                        ),
709
                    'active'  => true,
710
                ),
711
            'Mage_Weee'              =>
712
                array(
713
                    'module'  => 'Mage_Weee',
714
                    'depends' =>
715
                        array(
716
                            'Mage_Catalog' => true,
717
                            'Mage_Tax'     => true,
718
                            'Mage_Sales'   => true,
719
                        ),
720
                    'active'  => true,
721
                ),
722
            'Mage_Widget'            =>
723
                array(
724
                    'module'  => 'Mage_Widget',
725
                    'depends' =>
726
                        array(
727
                            'Mage_Cms' => true,
728
                        ),
729
                    'active'  => true,
730
                ),
731
            'Mage_XmlConnect'        =>
732
                array(
733
                    'module'  => 'Mage_XmlConnect',
734
                    'depends' =>
735
                        array(
736
                            'Mage_Checkout'         => true,
737
                            'Mage_Paypal'           => true,
738
                            'Mage_Usa'              => true,
739
                            'Mage_Tax'              => true,
740
                            'Mage_Weee'             => true,
741
                            'Mage_Catalog'          => true,
742
                            'Mage_CatalogSearch'    => true,
743
                            'Mage_CatalogInventory' => true,
744
                            'Mage_Bundle'           => true,
745
                            'Mage_Wishlist'         => true,
746
                            'Mage_Rating'           => true,
747
                            'Mage_Review'           => true,
748
                        ),
749
                    'active'  => false,
750
                ),
751
752
            'Phoenix_Moneybookers'   =>
753
                array(
754
                    'module'  => 'Phoenix_Moneybookers',
755
                    'depends' =>
756
                        array(),
757
                    'active'  => false,
758
                ),
759
760
            'Mage_GoogleBase'        =>
761
                array(
762
                    'module'  => 'Mage_GoogleBase',
763
                    'depends' =>
764
                        array(),
765
                    'active'  => false,
766
                ),
767
768
        );
769
    }
770
}