Add custom company logo upload and simplify kiosk branding.
Deploy Ladill Frontdesk / deploy (push) Successful in 23s

Show Ladill Frontdesk or uploaded logo top-left on kiosk; allow logo upload in onboarding and organization settings.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-06-27 21:49:17 +00:00
co-authored by Cursor
parent 0e28b59b10
commit dfda39df6e
9 changed files with 172 additions and 27 deletions
+44
View File
@@ -11,6 +11,8 @@ use App\Models\User;
use App\Models\Visit;
use App\Models\Visitor;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Storage;
use Tests\TestCase;
class FrontdeskWebTest extends TestCase
@@ -160,4 +162,46 @@ class FrontdeskWebTest extends TestCase
$this->assertEquals('Updated Org', $this->organization->name);
$this->assertEquals(6, $this->organization->settings['badge_expiry_hours']);
}
public function test_org_admin_can_upload_organization_logo(): void
{
Storage::fake('public');
$this->actingAs($this->user)
->put(route('frontdesk.settings.update'), [
'name' => 'Updated Org',
'timezone' => 'Africa/Accra',
'badge_expiry_hours' => 6,
'kiosk_reset_seconds' => 90,
'notification_channels' => ['email'],
'logo' => UploadedFile::fake()->image('company-logo.png', 400, 120),
])
->assertRedirect();
$this->organization->refresh();
$this->assertNotNull($this->organization->logo_path);
Storage::disk('public')->assertExists($this->organization->logo_path);
}
public function test_org_admin_can_remove_organization_logo(): void
{
Storage::fake('public');
$path = UploadedFile::fake()->image('company-logo.png')->store('frontdesk/organizations/'.$this->organization->id, 'public');
$this->organization->update(['logo_path' => $path]);
$this->actingAs($this->user)
->put(route('frontdesk.settings.update'), [
'name' => 'Updated Org',
'timezone' => 'Africa/Accra',
'badge_expiry_hours' => 6,
'kiosk_reset_seconds' => 90,
'notification_channels' => ['email'],
'remove_logo' => '1',
])
->assertRedirect();
$this->organization->refresh();
$this->assertNull($this->organization->logo_path);
Storage::disk('public')->assertMissing($path);
}
}