test storage media seeds
This commit is contained in:
parent
1934a6b94f
commit
247433bc60
3 changed files with 17 additions and 46 deletions
|
|
@ -6,6 +6,7 @@ use App\Element\ElementRepository;
|
||||||
use App\Set\SetRepository;
|
use App\Set\SetRepository;
|
||||||
use Database\Seeders\DatabaseSeeder;
|
use Database\Seeders\DatabaseSeeder;
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
class DemoSeedDataTest extends TestCase
|
class DemoSeedDataTest extends TestCase
|
||||||
|
|
@ -14,6 +15,8 @@ class DemoSeedDataTest extends TestCase
|
||||||
|
|
||||||
public function testBaderechRootElementHasDemoChildren(): void
|
public function testBaderechRootElementHasDemoChildren(): void
|
||||||
{
|
{
|
||||||
|
Storage::fake('public');
|
||||||
|
|
||||||
$this->seed(DatabaseSeeder::class);
|
$this->seed(DatabaseSeeder::class);
|
||||||
|
|
||||||
$setRepository = app(SetRepository::class);
|
$setRepository = app(SetRepository::class);
|
||||||
|
|
@ -23,6 +26,13 @@ class DemoSeedDataTest extends TestCase
|
||||||
$childElements = $elementRepository->findByParentElement($rootElement);
|
$childElements = $elementRepository->findByParentElement($rootElement);
|
||||||
|
|
||||||
$this->assertSame('', $rootElement->getRichText());
|
$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->getPdfPath());
|
||||||
$this->assertNull($rootElement->getYoutubeUrl());
|
$this->assertNull($rootElement->getYoutubeUrl());
|
||||||
$this->assertCount(6, $childElements);
|
$this->assertCount(6, $childElements);
|
||||||
|
|
@ -76,9 +86,10 @@ class DemoSeedDataTest extends TestCase
|
||||||
$childElements[0]->getRichText(),
|
$childElements[0]->getRichText(),
|
||||||
);
|
);
|
||||||
$this->assertSame(
|
$this->assertSame(
|
||||||
'/assets/pdfs/baderech.pdf',
|
'element-pdfs/baderech.pdf',
|
||||||
$childElements[0]->getPdfPath(),
|
$childElements[0]->getPdfPath(),
|
||||||
);
|
);
|
||||||
|
Storage::disk('public')->assertExists('element-pdfs/baderech.pdf');
|
||||||
|
|
||||||
$introductionChildElements = $elementRepository->findByParentElement(
|
$introductionChildElements = $elementRepository->findByParentElement(
|
||||||
$childElements[0],
|
$childElements[0],
|
||||||
|
|
|
||||||
|
|
@ -106,30 +106,8 @@ class UpdateElementFieldsTest extends TestCase
|
||||||
|
|
||||||
$this->assertNull($updatedElement->getIconImageUrl());
|
$this->assertNull($updatedElement->getIconImageUrl());
|
||||||
$this->assertSame($element->getTitle(), $updatedElement->getTitle());
|
$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(
|
$this->assertSame(
|
||||||
['element-icons/original-icon.png'],
|
['/assets/original-icon.png'],
|
||||||
$this->fileUploader->deletedPaths,
|
$this->fileUploader->deletedPaths,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -170,27 +148,8 @@ class UpdateElementFieldsTest extends TestCase
|
||||||
|
|
||||||
$this->assertNull($updatedElement->getPdfPath());
|
$this->assertNull($updatedElement->getPdfPath());
|
||||||
$this->assertSame($element->getTitle(), $updatedElement->getTitle());
|
$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(
|
$this->assertSame(
|
||||||
['element-pdfs/original.pdf'],
|
['/assets/pdfs/original.pdf'],
|
||||||
$this->fileUploader->deletedPaths,
|
$this->fileUploader->deletedPaths,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ describe('media page sets', () => {
|
||||||
cy.get('[data-cy="element-icon"]')
|
cy.get('[data-cy="element-icon"]')
|
||||||
.should('be.visible')
|
.should('be.visible')
|
||||||
.and('have.attr', 'src')
|
.and('have.attr', 'src')
|
||||||
.and('include', '/assets/baderech-haavodah-icon.png')
|
.and('include', '/storage/element-icons/baderech-haavodah-icon.png')
|
||||||
cy.get('[data-cy="element-rich-text"]').should('not.exist')
|
cy.get('[data-cy="element-rich-text"]').should('not.exist')
|
||||||
cy.get('[data-cy="element-youtube-embed"]')
|
cy.get('[data-cy="element-youtube-embed"]')
|
||||||
.should('not.exist')
|
.should('not.exist')
|
||||||
|
|
@ -118,7 +118,8 @@ describe('media page sets', () => {
|
||||||
cy.get('[data-cy="element-youtube-embed"]').should('not.exist')
|
cy.get('[data-cy="element-youtube-embed"]').should('not.exist')
|
||||||
cy.contains('[data-cy="element-pdf-link"]', 'View PDF')
|
cy.contains('[data-cy="element-pdf-link"]', 'View PDF')
|
||||||
.should('be.visible')
|
.should('be.visible')
|
||||||
.and('have.attr', 'href', '/assets/pdfs/baderech.pdf')
|
.and('have.attr', 'href')
|
||||||
|
.and('include', '/storage/element-pdfs/baderech.pdf')
|
||||||
.and('have.attr', 'target', '_blank')
|
.and('have.attr', 'target', '_blank')
|
||||||
cy.contains('[data-cy="child-element-link"]', introductionAudioTitle)
|
cy.contains('[data-cy="child-element-link"]', introductionAudioTitle)
|
||||||
.as('introductionAudioLink')
|
.as('introductionAudioLink')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue