Fix plenary spotlight for guest speakers without user accounts.
Deploy Ladill Meet / deploy (push) Successful in 52s
Deploy Ladill Meet / deploy (push) Successful in 52s
Spotlight by participant uuid, add on-stage picker in stage layout, and show who is currently spotlighted in the plenary status bar. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1048,6 +1048,66 @@ class MeetWebTest extends TestCase
|
||||
$this->assertCount(1, $room->setting('panels'));
|
||||
}
|
||||
|
||||
public function test_host_can_spotlight_guest_panelist_by_participant_uuid(): void
|
||||
{
|
||||
$room = Room::create([
|
||||
'owner_ref' => $this->user->public_id,
|
||||
'organization_id' => $this->organization->id,
|
||||
'host_user_ref' => $this->user->public_id,
|
||||
'title' => 'Summit keynote',
|
||||
'type' => 'webinar',
|
||||
'status' => 'live',
|
||||
'scheduled_at' => now()->addHour(),
|
||||
'timezone' => 'UTC',
|
||||
'settings' => array_merge(config('meet.default_settings'), [
|
||||
'stage_layout' => 'plenary',
|
||||
]),
|
||||
]);
|
||||
|
||||
$session = Session::create([
|
||||
'owner_ref' => $this->user->public_id,
|
||||
'room_id' => $room->id,
|
||||
'media_room_name' => 'meet-'.$room->uuid,
|
||||
'status' => 'live',
|
||||
'started_at' => now(),
|
||||
]);
|
||||
|
||||
$hostParticipant = \App\Models\Participant::create([
|
||||
'owner_ref' => $this->user->public_id,
|
||||
'session_id' => $session->id,
|
||||
'user_ref' => $this->user->public_id,
|
||||
'display_name' => $this->user->name,
|
||||
'role' => 'host',
|
||||
'status' => 'joined',
|
||||
'joined_at' => now(),
|
||||
]);
|
||||
|
||||
$guestSpeaker = \App\Models\Participant::create([
|
||||
'owner_ref' => $this->user->public_id,
|
||||
'session_id' => $session->id,
|
||||
'display_name' => 'Guest Speaker',
|
||||
'email' => 'speaker@example.com',
|
||||
'role' => 'panelist',
|
||||
'status' => 'joined',
|
||||
'joined_at' => now(),
|
||||
]);
|
||||
|
||||
$this->actingAs($this->user)
|
||||
->withSession(["meet.participant.{$session->uuid}" => $hostParticipant->uuid])
|
||||
->postJson('/room/'.$session->uuid.'/stage', [
|
||||
'stage_layout' => 'plenary',
|
||||
'spotlight_speaker_ref' => $guestSpeaker->uuid,
|
||||
])
|
||||
->assertOk()
|
||||
->assertJson([
|
||||
'stage_layout' => 'plenary',
|
||||
'spotlight_speaker_ref' => $guestSpeaker->uuid,
|
||||
]);
|
||||
|
||||
$room->refresh();
|
||||
$this->assertSame($guestSpeaker->uuid, $room->setting('spotlight_speaker_ref'));
|
||||
}
|
||||
|
||||
public function test_poll_includes_stage_config_for_conference(): void
|
||||
{
|
||||
$room = Room::create([
|
||||
|
||||
Reference in New Issue
Block a user