Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Passed
Push — add-uploaders-tests ( b57c4f...2a776c )
by Pedro
11:06
created

UploadersConfigurationTest   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 25
c 1
b 0
f 1
dl 0
loc 51
rs 10
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A defineRoutes() 0 3 1
A test_it_can_access_the_uploaders_create_page() 0 4 1
A setUp() 0 6 1
A test_it_can_store_uploaded_files_using_our_file_name_generator() 0 27 2
1
<?php
2
3
namespace Backpack\CRUD\Tests\Feature;
4
5
use Backpack\CRUD\Tests\config\CrudPanel\BaseDBCrudPanel;
6
use Backpack\CRUD\Tests\config\Http\Controllers\UploaderConfigurationCrudController;
7
use Backpack\CRUD\Tests\config\Models\Uploader;
8
use Backpack\CRUD\Tests\config\Models\User;
9
use Illuminate\Http\UploadedFile;
10
use Illuminate\Support\Facades\Storage;
11
use PHPUnit\Framework\Attributes\Group;
12
use Backpack\CRUD\Tests\config\HasUploadedFiles;
13
14
/**
15
 * @covers Backpack\CRUD\app\Library\Uploaders\Uploader
16
 * @covers Backpack\CRUD\app\Library\Uploaders\SingleFile
17
 * @covers Backpack\CRUD\app\Library\Uploaders\MultipleFiles
18
 * @covers Backpack\CRUD\app\Library\Uploaders\Support\RegisterUploadEvents
19
 * @covers Backpack\CRUD\app\Library\Uploaders\Support\UploadersRepository
20
 * @covers Backpack\CRUD\app\Library\Uploaders\Support\FileNameGenerator
21
 */
22
class UploadersConfigurationTest extends BaseDBCrudPanel
23
{
24
    use HasUploadedFiles;
25
    protected string $testBaseUrl;
26
27
    protected function defineRoutes($router)
28
    {
29
        $router->crud(config('backpack.base.route_prefix').'/uploader-configuration', UploaderConfigurationCrudController::class);
30
    }
31
32
    protected function setUp(): void
33
    {
34
        parent::setUp();
35
        $this->testBaseUrl = config('backpack.base.route_prefix').'/uploader-configuration';
36
        Storage::fake('uploaders');
37
        $this->actingAs(User::find(1));
38
    }
39
40
    public function test_it_can_access_the_uploaders_create_page()
41
    {
42
        $response = $this->get($this->testBaseUrl.'/create');
43
        $response->assertStatus(200);
44
    }
45
46
    public function test_it_can_store_uploaded_files_using_our_file_name_generator()
47
    {
48
        $response = $this->post($this->testBaseUrl, [
49
            'upload' => $this->getUploadedFile('avatar1.jpg'),
50
            'upload_multiple' => $this->getUploadedFiles(['avatar2.jpg', 'avatar3.jpg']),
51
        ]);
52
        
53
        $response->assertStatus(302);
54
        
55
        $response->assertRedirect($this->testBaseUrl);
56
57
        $this->assertDatabaseCount('uploaders', 1);
58
59
        $files = Storage::disk('uploaders')->allFiles();
60
61
        $this->assertEquals(3, count($files));
62
63
        foreach ($files as $file) {
64
            $this->assertMatchesRegularExpression('/avatar\d{1}-[a-zA-Z0-9]{4}\.jpg/', $file);
65
        }
66
67
        // get the entry from database and also make sure the file names are stored correctly
68
        $entry = Uploader::first();
69
        $this->assertNotNull($entry);
70
        $this->assertMatchesRegularExpression('/avatar\d{1}-[a-zA-Z0-9]{4}\.jpg/', $entry->upload);
0 ignored issues
show
Bug introduced by
The property upload does not seem to exist on Illuminate\Database\Eloq...gHasThroughRelationship.
Loading history...
71
        $this->assertMatchesRegularExpression('/avatar\d{1}-[a-zA-Z0-9]{4}\.jpg/', $entry->upload_multiple[0]);
0 ignored issues
show
Bug introduced by
The property upload_multiple does not seem to exist on Illuminate\Database\Eloq...gHasThroughRelationship.
Loading history...
72
        $this->assertMatchesRegularExpression('/avatar\d{1}-[a-zA-Z0-9]{4}\.jpg/', $entry->upload_multiple[1]);
73
    }
74
}
75