Test Setup Failed
Push — main ( 11ca8f...3ac662 )
by ikechukwu
03:22
created

test_queue_file_upload_run_is_true()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 33
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 21
nc 2
nop 0
dl 0
loc 33
rs 9.584
c 0
b 0
f 0
1
<?php
2
3
namespace Ikechukwukalu\Clamavfileupload\Tests;
4
5
use Illuminate\Database\Eloquent\Collection;
0 ignored issues
show
Bug introduced by
The type Illuminate\Database\Eloquent\Collection was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use Illuminate\Foundation\Testing\RefreshDatabase;
7
use Illuminate\Http\Request;
8
use Illuminate\Support\Facades\Event;
9
use Illuminate\Support\Facades\Storage;
10
use Ikechukwukalu\Clamavfileupload\Events\ClamavQueuedFileScan;
11
use Ikechukwukalu\Clamavfileupload\Facade\FileUpload;
12
use Ikechukwukalu\Clamavfileupload\Facade\QueuedFileUpload;
13
use Ikechukwukalu\Clamavfileupload\Listeners\ClamavFileUpload;
14
use Symfony\Component\HttpFoundation\File\UploadedFile;
15
16
class FileUploadTest extends TestCase
17
{
18
    use RefreshDatabase;
0 ignored issues
show
introduced by
The trait Illuminate\Foundation\Testing\RefreshDatabase requires some properties which are not provided by Ikechukwukalu\Clamavfile...ad\Tests\FileUploadTest: $seeder, $seed, $connectionsToTransact, $dropTypes, $dropViews
Loading history...
19
20
    public function test_file_upload_run_is_true(): void
21
    {
22
        Storage::fake(config('clamavfileupload.disk'));
23
24
        $file = __DIR__ . '/file/lorem-ipsum.pdf';
25
        if (! is_dir($tmpDir = __DIR__ . '/tmp')) {
26
            mkdir($tmpDir, 0755, true);
27
        }
28
29
        $tmpFile = $tmpDir . '/lorem-ipsum.pdf';
30
        $this->assertTrue(copy($file, $tmpFile));
31
32
        $request = new Request;
33
        $files = [];
34
        $extension = explode('.', $tmpFile)[1];
35
        $files[] = new UploadedFile($tmpFile, ".{$extension}");
36
        $input = config('clamavfileupload.input', 'file');
37
        $request->files->set($input, $files);
38
39
        $this->assertTrue($request instanceof Request);
40
41
        $settings = [
42
            'folder' => 'docs',
43
            'name' => 'Resumes'
44
        ];
45
46
        $this->assertTrue(FileUpload::uploadFiles($request, $settings) instanceof Collection);
47
    }
48
49
    public function test_queue_file_upload_run_is_true(): void
50
    {
51
        Storage::fake(config('clamavfileupload.disk'));
52
53
        $file = __DIR__ . '/file/lorem-ipsum.pdf';
54
        if (! is_dir($tmpDir = __DIR__ . '/tmp')) {
55
            mkdir($tmpDir, 0755, true);
56
        }
57
58
        $tmpFile = $tmpDir . '/lorem-ipsum.pdf';
59
        $this->assertTrue(copy($file, $tmpFile));
60
61
        $request = new Request;
62
        $files = [];
63
        $extension = explode('.', $tmpFile)[1];
64
        $files[] = new UploadedFile($tmpFile, ".{$extension}");
65
        $input = config('clamavfileupload.input', 'file');
66
        $request->files->set($input, $files);
67
68
        $this->assertTrue($request instanceof Request);
69
70
        $settings = [
71
            'folder' => 'docs',
72
            'name' => 'Resumes'
73
        ];
74
75
        $event = Event::fake();
76
77
        $this->assertTrue(QueuedFileUpload::uploadFiles($request, $settings));
78
79
        $event->assertListening(
80
            ClamavQueuedFileScan::class,
81
            ClamavFileUpload::class
82
        );
83
    }
84
}
85