Files
old-holivud2/spec/controllers/broadcast_recordings_controller_spec.rb

62 lines
2.0 KiB
Ruby

require 'rails_helper'
RSpec.describe BroadcastRecordingsController, type: :controller do
render_views
let(:user) { create(:user) }
let(:account) { user.primary_account }
let(:project) { create(:project, account: user.primary_account) }
before do
sign_in user
stub_mux_live_stream
end
describe "#update" do
let(:broadcast) { create(:broadcast, project: project, name: "New Broadcast") }
let(:recordings) { create_list(:broadcast_recording, 5, :with_random_asset_uid, broadcast: broadcast) }
let(:starred_recordings) { create_list(:broadcast_recording, 5, :with_random_asset_uid, broadcast: broadcast, star: true) }
it "sets star property to true when recording is starred" do
recordings.each do |recording|
expect(recording.star).to be_falsey
end
put :update, params: { project_id: project, broadcast_id: broadcast, id: recordings.first.id }, xhr: true
expect(recordings.first.reload.star).to eq true
recordings[1..5].each do |recording|
expect(recording.reload.star).to be_falsey
end
end
it "sets star property to false when recording is unstarred" do
starred_recordings.each do |recording|
expect(recording.star).to be_truthy
end
put :update, params: { project_id: project, broadcast_id: broadcast, id: starred_recordings.first.id }, xhr: true
expect(starred_recordings.first.reload.star).to eq false
starred_recordings[1..5].each do |recording|
expect(recording.reload.star).to eq true
end
end
end
describe "#destroy" do
let(:broadcast) { create(:broadcast, project: project, name: "New Broadcast") }
let(:recording) { create(:broadcast_recording, broadcast: broadcast) }
it "hides the broadcast recording" do
expect(recording.hidden).to be false
post :destroy, params: { project_id: project, broadcast_id: broadcast, id: recording }, xhr: true
expect(recording.reload.hidden).to be true
end
end
end