MakeResourceRuleSetCommandTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 21
c 2
b 0
f 0
dl 0
loc 50
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A it_can_create_a_resource_rule_set_with_a_custom_namespace() 0 20 1
A it_can_create_a_resource_rule_set() 0 20 1
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