upload file into request folder and get their thumbnails

This commit is contained in:
Čarodej
2022-02-19 12:32:19 +01:00
parent 5be55b52bd
commit 1107bf66af
25 changed files with 349 additions and 60 deletions

View File

@@ -2,10 +2,12 @@
namespace Tests\Domain\UploadRequest;
use Domain\Files\Models\File;
use Domain\UploadRequest\Notifications\UploadRequestNotification;
use Domain\UploadRequest\Models\UploadRequest;
use App\Users\Models\User;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Str;
use Storage;
use Tests\TestCase;
use Notification;
@@ -87,6 +89,7 @@ class UploadRequestTest extends TestCase
$uploadRequest = UploadRequest::factory()
->create([
'status' => 'active',
'user_id' => $user->id,
]);
@@ -108,7 +111,8 @@ class UploadRequestTest extends TestCase
$uploadRequest = UploadRequest::factory()
->create([
'user_id' => $user->id,
'status' => 'active',
'user_id' => $user->id,
'created_at' => now(),
]);
@@ -116,20 +120,120 @@ class UploadRequestTest extends TestCase
->create('fake-file.pdf', 12000000, 'application/pdf');
$this
->actingAs($user)
->postJson("/api/upload-request/$uploadRequest->id", [
'filename' => $file->name,
'file' => $file,
'parent_id' => $uploadRequest->id,
'parent_id' => null,
'path' => "/$file->name",
'is_last' => 'true',
])->assertStatus(201);
$this->assertDatabaseHas('folders', [
'id' => $uploadRequest->id,
'name' => 'Upload Request from 01. Jan. 2021',
]);
$this
->assertDatabaseHas('folders', [
'id' => $uploadRequest->id,
'name' => 'Upload Request from 01. Jan. 2021',
])->assertDatabaseHas('files', [
'parent_id' => $uploadRequest->id,
]);
//Storage::assertExists("files/$user->id/$file->basename");
$file = File::first();
Storage::assertExists("files/$user->id/$file->basename");
}
/**
* @test
*/
public function it_upload_file_into_non_active_upload_request()
{
$user = User::factory()
->hasSettings()
->create();
$uploadRequest = UploadRequest::factory()
->create([
'status' => 'expired',
'user_id' => $user->id,
'created_at' => now(),
]);
$file = UploadedFile::fake()
->create('fake-file.pdf', 12000000, 'application/pdf');
$this
->postJson("/api/upload-request/$uploadRequest->id", [
'filename' => $file->name,
'file' => $file,
'parent_id' => null,
'path' => "/$file->name",
'is_last' => 'true',
])->assertStatus(410);
}
/**
* @test
*/
public function it_get_file_from_upload_request_folder()
{
$user = User::factory()
->hasSettings()
->create();
$uploadRequest = UploadRequest::factory()
->create([
'status' => 'active',
'user_id' => $user->id,
'created_at' => now(),
]);
$file = UploadedFile::fake()
->create(Str::random() . '-fake-file.pdf', 1200, 'application/pdf');
Storage::putFileAs("files/$user->id", $file, $file->name);
File::factory()
->create([
'parent_id' => $uploadRequest->id,
'basename' => $file->name,
'user_id' => $user->id,
'name' => 'fake-file.pdf',
]);
$this
->get("/file/$file->name/upload-request/$uploadRequest->id")
->assertOk();
}
/**
* @test
*/
public function it_get_thumbnail_from_upload_request_folder()
{
$user = User::factory()
->hasSettings()
->create();
$uploadRequest = UploadRequest::factory()
->create([
'status' => 'active',
'user_id' => $user->id,
'created_at' => now(),
]);
$thumbnail = UploadedFile::fake()
->image('fake-thumbnail.jpg');
Storage::putFileAs("files/$user->id", $thumbnail, $thumbnail->name);
File::factory()
->create([
'parent_id' => $uploadRequest->id,
'basename' => 'fake-thumbnail.jpg',
'user_id' => $user->id,
]);
$this
->get("/thumbnail/xs-$thumbnail->name/upload-request/$uploadRequest->id")
->assertOk();
}
}