share-lt/tests/Browser/UploadImageAdminTest.php
jon brookes bef3ae7f41 feat: implement user authentication traits
and tests for admin panel image uploads
2026-01-05 16:37:06 +00:00

46 lines
1.5 KiB
PHP

<?php
namespace Tests\Browser;
use Illuminate\Foundation\Testing\DatabaseTruncation;
use Laravel\Dusk\Browser;
use Tests\Browser\Concerns\AuthenticatesUsers;
use Tests\DuskTestCase;
class UploadImageAdminTest extends DuskTestCase
{
use DatabaseTruncation;
use AuthenticatesUsers;
public function test_image_upload_admin_panel(): void
{
$user = $this->createTestUser("login-test@example.com");
$filePath = base_path('tests/Browser/fixtures/robot.webp');
$this->browse(function (Browser $browser ) use ($user, $filePath) {
$this->loginUser($browser, $user);
$this->assertWithDebugPause(
$browser,
fn($b) =>
$b->visit('/admin/media')
->waitForLocation('/admin/media')
->assertPathIs('/admin/media')
->assertTitleContains('Media')
->clickLink('New media')
->waitForText('Create Media')
->type('#form\\.name', 'test image')
->assertVisible('.filepond--drop-label')
->attach('.filepond--browser', $filePath)
->pause(7000)
->waitForText('Create')
->waitFor('#key-bindings-1:not([disabled])')
->click('#key-bindings-1')
->assertSee('Collection name'),
1000 // Custom pause time for this test
);
});
}
}