test storage media seeds

This commit is contained in:
Yisroel Baum 2026-06-02 17:08:54 +03:00
parent 1934a6b94f
commit 247433bc60
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
3 changed files with 17 additions and 46 deletions

View file

@ -6,6 +6,7 @@ use App\Element\ElementRepository;
use App\Set\SetRepository;
use Database\Seeders\DatabaseSeeder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Storage;
use Tests\TestCase;
class DemoSeedDataTest extends TestCase
@ -14,6 +15,8 @@ class DemoSeedDataTest extends TestCase
public function testBaderechRootElementHasDemoChildren(): void
{
Storage::fake('public');
$this->seed(DatabaseSeeder::class);
$setRepository = app(SetRepository::class);
@ -23,6 +26,13 @@ class DemoSeedDataTest extends TestCase
$childElements = $elementRepository->findByParentElement($rootElement);
$this->assertSame('', $rootElement->getRichText());
$this->assertSame(
'element-icons/baderech-haavodah-icon.png',
$rootElement->getIconImageUrl(),
);
Storage::disk('public')->assertExists(
'element-icons/baderech-haavodah-icon.png',
);
$this->assertNull($rootElement->getPdfPath());
$this->assertNull($rootElement->getYoutubeUrl());
$this->assertCount(6, $childElements);
@ -76,9 +86,10 @@ class DemoSeedDataTest extends TestCase
$childElements[0]->getRichText(),
);
$this->assertSame(
'/assets/pdfs/baderech.pdf',
'element-pdfs/baderech.pdf',
$childElements[0]->getPdfPath(),
);
Storage::disk('public')->assertExists('element-pdfs/baderech.pdf');
$introductionChildElements = $elementRepository->findByParentElement(
$childElements[0],

View file

@ -106,30 +106,8 @@ class UpdateElementFieldsTest extends TestCase
$this->assertNull($updatedElement->getIconImageUrl());
$this->assertSame($element->getTitle(), $updatedElement->getTitle());
$this->assertSame([], $this->fileUploader->deletedPaths);
}
public function testUpdateIconImageUrlDeletesManagedFileWhenCleared(): void
{
$element = $this->createElementWithMedia(
'element-icons/original-icon.png',
'/assets/pdfs/original.pdf',
);
$updateIconImageUrl = new UpdateIconImageUrl(
$this->elementRepo,
$this->fileUploader,
);
$updatedElement = $updateIconImageUrl->execute(
new UpdateIconImageUrlRequest(
id: $element->getId(),
iconImageUrl: '',
)
);
$this->assertNull($updatedElement->getIconImageUrl());
$this->assertSame(
['element-icons/original-icon.png'],
['/assets/original-icon.png'],
$this->fileUploader->deletedPaths,
);
}
@ -170,27 +148,8 @@ class UpdateElementFieldsTest extends TestCase
$this->assertNull($updatedElement->getPdfPath());
$this->assertSame($element->getTitle(), $updatedElement->getTitle());
$this->assertSame([], $this->fileUploader->deletedPaths);
}
public function testUpdatePdfPathDeletesManagedFileWhenCleared(): void
{
$element = $this->createElementWithMedia(
'/assets/original-icon.png',
'element-pdfs/original.pdf',
);
$updatePdfPath = new UpdatePdfPath(
$this->elementRepo,
$this->fileUploader,
);
$updatedElement = $updatePdfPath->execute(
new UpdatePdfPathRequest(id: $element->getId(), pdfPath: '')
);
$this->assertNull($updatedElement->getPdfPath());
$this->assertSame(
['element-pdfs/original.pdf'],
['/assets/pdfs/original.pdf'],
$this->fileUploader->deletedPaths,
);
}