Merge branch 'feature/stream-audio-mute' into collaudo
Integra il mute del microfono in diretta per il collaudo. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
require "rails_helper"
|
||||
|
||||
RSpec.describe Sessions::SetAudioMute do
|
||||
let!(:user) { User.create!(email: "mute@test.it", name: "U", password: "Password123", role: "coach") }
|
||||
let!(:club) { Club.create!(name: "C", sport: "volleyball", primary_color: "#e53935", secondary_color: "#ffffff") }
|
||||
let!(:team) { club.teams.create!(name: "T", sport: "volleyball") }
|
||||
let!(:match) { team.matches.create!(opponent_name: "Opp", sport: "volleyball") }
|
||||
let!(:session) { StreamSession.create!(match: match, user: user, platform: "matchlivetv", status: "live") }
|
||||
|
||||
it "attiva il mute e persiste lo stato" do
|
||||
described_class.new(session, muted: true).call
|
||||
expect(session.reload.audio_muted).to eq(true)
|
||||
expect(session.stream_events.order(:occurred_at).last.event_type).to eq("audio_muted")
|
||||
end
|
||||
|
||||
it "disattiva il mute" do
|
||||
session.update!(audio_muted: true)
|
||||
described_class.new(session, muted: false).call
|
||||
expect(session.reload.audio_muted).to eq(false)
|
||||
expect(session.stream_events.order(:occurred_at).last.event_type).to eq("audio_unmuted")
|
||||
end
|
||||
|
||||
it "è idempotente se lo stato è già quello richiesto" do
|
||||
described_class.new(session, muted: false).call
|
||||
expect(session.stream_events.count).to eq(0)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user