Generate multiple avatar sizes for better performance loading and frugal traffic

This commit is contained in:
Čarodej
2021-11-03 16:28:14 +01:00
parent dc8ec5f20b
commit f139dbae08
30 changed files with 280 additions and 152 deletions
+11 -12
View File
@@ -1,4 +1,5 @@
<?php
namespace Tests\Domain\Files;
use Storage;
@@ -79,20 +80,19 @@ class ContentAccessTest extends TestCase
->create();
$thumbnail = UploadedFile::fake()
->image(Str::random() . '-fake-thumbnail.jpg');
->image('fake-thumbnail.jpg');
Storage::putFileAs("files/$user->id", $thumbnail, $thumbnail->name);
File::factory(File::class)
->create([
'user_id' => $user->id,
'thumbnail' => $thumbnail->name,
'name' => 'fake-thumbnail.jpg',
'user_id' => $user->id,
'basename' => 'fake-thumbnail.jpg',
]);
$this
->actingAs($user)
->get("thumbnail/$thumbnail->name")
->get("thumbnail/xs-$thumbnail->name")
->assertStatus(200);
}
@@ -101,24 +101,23 @@ class ContentAccessTest extends TestCase
*/
public function logged_user_try_to_get_another_private_user_image_thumbnail()
{
$users = User::factory(User::class)
$users = User::factory()
->count(2)
->create();
$thumbnail = UploadedFile::fake()
->image(Str::random() . '-fake-thumbnail.jpg');
->image('fake-thumbnail.jpg', 2000, 2000);
Storage::putFileAs("files/{$users[0]->id}", $thumbnail, $thumbnail->name);
File::factory(File::class)
File::factory()
->create([
'user_id' => $users[0]->id,
'thumbnail' => $thumbnail->name,
'name' => 'fake-thumbnail.jpg',
'user_id' => $users[0]->id,
'basename' => 'fake-thumbnail.jpg',
]);
$this->actingAs($users[1])
->get("thumbnail/$thumbnail->name")
->get("thumbnail/xs-$thumbnail->name")
->assertForbidden();
}
+15 -12
View File
@@ -31,9 +31,9 @@ class FileTest extends TestCase
public function it_upload_image_file_and_create_thumbnail()
{
$file = UploadedFile::fake()
->image('fake-image.jpg');
->image('fake-image.jpg', 2000, 2000);
$user = User::factory(User::class)
$user = User::factory()
->create();
$this
@@ -47,17 +47,18 @@ class FileTest extends TestCase
$disk = Storage::disk('local');
$file = File::first();
$disk->assertMissing(
'chunks/fake-image.jpg'
"chunks/$file->basename"
);
$disk->assertExists(
"files/$user->id/fake-image.jpg"
);
$disk->assertExists(
"files/$user->id/thumbnail-fake-image.jpg"
);
collect(config('vuefilemanager.image_sizes'))
->each(fn ($item) =>
$disk->assertExists(
"files/{$user->id}/{$item['name']}-{$file->basename}"
)
);
}
/**
@@ -82,12 +83,14 @@ class FileTest extends TestCase
$disk = Storage::disk('local');
$file = File::first();
$disk->assertMissing(
'chunks/fake-file.pdf'
"chunks/$file->basename"
);
$disk->assertExists(
"files/$user->id/fake-file.pdf"
"files/$user->id/$file->basename"
);
}