Completed
Push — master ( 7346cf...68e36d )
by Ryan
18:45 queued 13:05
created

WriteAddonFeatureTest::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 4
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
1
<?php namespace Anomaly\Streams\Platform\Addon\Console\Command;
2
3
use Anomaly\Streams\Platform\Support\Parser;
4
use Illuminate\Filesystem\Filesystem;
5
6
/**
7
 * Class WriteAddonFeatureTest
8
 *
9
 * @link   http://pyrocms.com/
10
 * @author PyroCMS, Inc. <[email protected]>
11
 * @author Ryan Thompson <[email protected]>
12
 */
13
class WriteAddonFeatureTest
14
{
15
16
    /**
17
     * The addon path.
18
     *
19
     * @var string
20
     */
21
    private $path;
22
23
    /**
24
     * The addon type.
25
     *
26
     * @var string
27
     */
28
    private $type;
29
30
    /**
31
     * The addon slug.
32
     *
33
     * @var string
34
     */
35
    private $slug;
36
37
    /**
38
     * The vendor slug.
39
     *
40
     * @var string
41
     */
42
    private $vendor;
43
44
    /**
45
     * Create a new WriteAddonFeatureTest instance.
46
     *
47
     * @param $path
48
     * @param $type
49
     * @param $slug
50
     * @param $vendor
51
     */
52
    public function __construct($path, $type, $slug, $vendor)
53
    {
54
        $this->path   = $path;
55
        $this->slug   = $slug;
56
        $this->type   = $type;
57
        $this->vendor = $vendor;
58
    }
59
60
    /**
61
     * Handle the command.
62
     *
63
     * @param Parser     $parser
64
     * @param Filesystem $filesystem
65
     */
66
    public function handle(Parser $parser, Filesystem $filesystem)
67
    {
68
        $slug   = ucfirst(camel_case($this->slug));
69
        $type   = ucfirst(camel_case($this->type));
70
        $vendor = ucfirst(camel_case($this->vendor));
71
72
        $addon     = $slug . $type;
73
        $extends   = "{$addon}TestCase";
0 ignored issues
show
Unused Code introduced by
$extends is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
74
        $class     = $slug . $type . 'Test';
75
        $namespace = "{$vendor}\\{$addon}\\Test\\Feature";
76
        $use       = "{$vendor}\\{$addon}\\Test\\{$addon}TestCase";
0 ignored issues
show
Unused Code introduced by
$use is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
77
78
        $path = "{$this->path}/tests/Feature/{$addon}Test.php";
79
80
        $template = $filesystem->get(
81
            base_path("vendor/anomaly/streams-platform/resources/stubs/addons/tests/feature.stub")
82
        );
83
84
        $filesystem->makeDirectory(dirname($path), 0755, true, true);
85
86
        $filesystem->put($path, $parser->parse($template, compact('namespace', 'class')));
87
    }
88
}
89