it_can_create_a_resource_rule_set()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
eloc 10
c 2
b 0
f 0
nc 1
nop 0
dl 0
loc 20
rs 9.9332
1
<?php
2
3
namespace Telkins\Validation\Tests;
4
5
use Illuminate\Support\Facades\File;
6
use Illuminate\Support\Facades\Artisan;
7
8
class MakeResourceRuleSetCommandTest extends TestCase
9
{
10
    /**
11
     * @test
12
     */
13
    public function it_can_create_a_resource_rule_set()
14
    {
15
        $exitCode = Artisan::call('make:resource-rule-set', [
16
            'name' => 'PostRuleSet',
17
            '--force' => true,
18
        ]);
19
20
        $this->assertEquals(0, $exitCode);
21
22
        $this->assertStringContainsString('ResourceRuleSet created successfully.', Artisan::output());
23
24
        $shouldOutputFilePath = $this->app['path'] . '/Rules/ResourceRuleSets/PostRuleSet.php';
25
26
        $this->assertTrue(File::exists($shouldOutputFilePath), 'File not found in default app/Rules/ResourceRuleSets folder');
27
28
        $contents = File::get($shouldOutputFilePath);
29
30
        $this->assertStringContainsString('namespace App\Rules\ResourceRuleSets;', $contents);
31
32
        $this->assertStringContainsString('class PostRuleSet extends AbstractResourceRuleSet', $contents);
33
    }
34
35
    /**
36
     * @test
37
     */
38
    public function it_can_create_a_resource_rule_set_with_a_custom_namespace()
39
    {
40
        $exitCode = Artisan::call('make:resource-rule-set', [
41
            'name' => 'MyResourceRuleSets/PostRuleSet',
42
            '--force' => true,
43
        ]);
44
45
        $this->assertEquals(0, $exitCode);
46
47
        $this->assertStringContainsString('ResourceRuleSet created successfully.', Artisan::output());
48
49
        $shouldOutputFilePath = $this->app['path'] . '/MyResourceRuleSets/PostRuleSet.php';
50
51
        $this->assertTrue(File::exists($shouldOutputFilePath), 'File not found in custom app/MyResourceRuleSets folder');
52
53
        $contents = File::get($shouldOutputFilePath);
54
55
        $this->assertStringContainsString('namespace App\MyResourceRuleSets;', $contents);
56
57
        $this->assertStringContainsString('class PostRuleSet extends AbstractResourceRuleSet', $contents);
58
    }
59
}
60