Completed
Pull Request — master (#114)
by Bart
05:42
created

Unit   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 3
dl 0
loc 39
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Helper;
4
5
use Craft;
6
use craft\console\Application;
7
use craft\services\Categories;
8
use craft\services\Fields;
9
use craft\services\Sites;
10
use Codeception\Module;
11
use Codeception\TestCase;
12
use NerdsAndCompany\Schematic\Schematic;
13
14
class Unit extends Module
15
{
16
    /**
17
     * Mock craft services.
18
     *
19
     * @SuppressWarnings(PHPMD.CamelCaseMethodName)
20
     *
21
     * @param TestCase $test
22
     */
23
    public function _before(TestCase $test)
24
    {
25
        $mockCategoryGroups = $test->getMockBuilder(Categories::class)
26
                              ->disableOriginalConstructor()
27
                              ->getMock();
28
29
        $mockFields = $test->getMockBuilder(Fields::class)
30
                     ->disableOriginalConstructor()
31
                     ->getMock();
32
33
        $mockSites = $test->getMockBuilder(Sites::class)
34
                    ->disableOriginalConstructor()
35
                    ->getMock();
36
37
        $mockApp = $test->getMockBuilder(Application::class)
38
                  ->disableOriginalConstructor()
39
                  ->getMock();
40
41
        $mockApp->expects($test->any())
42
                ->method('__get')
43
                ->willReturnMap([
44
                    ['categories', $mockCategoryGroups],
45
                    ['fields', $mockFields],
46
                    ['sites', $mockSites],
47
                ]);
48
49
        Craft::$app = $mockApp;
50
        Schematic::$force = false;
51
    }
52
}
53