From fcc856f7fc8985d9c8281a7d18454db3061f6c30 Mon Sep 17 00:00:00 2001 From: Bilal Date: Mon, 14 Sep 2020 17:12:51 +0300 Subject: [PATCH] add new specs --- spec/controllers/broadcasts_controller_spec.rb | 18 ++++++++++++++++++ spec/models/broadcast_spec.rb | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/spec/controllers/broadcasts_controller_spec.rb b/spec/controllers/broadcasts_controller_spec.rb index 3fc623b..60ff216 100644 --- a/spec/controllers/broadcasts_controller_spec.rb +++ b/spec/controllers/broadcasts_controller_spec.rb @@ -101,6 +101,24 @@ RSpec.describe BroadcastsController, type: :controller do }.to have_enqueued_job(TrackAnalyticsJob).with(user, account, :track_create_live_stream, user_agent: "Rails Testing", user_ip: "0.0.0.0") end + it "does not create new live meeting room if project already has room" do + expect(project.live_meeting_url.present?).to eq true + expect(Daily).not_to receive(:create_room) + + post :create, params: { project_id: project.id, broadcast: broadcast_params } + end + + it "creates new live meeting room if project has no room already created" do + project.update(live_meeting_url: nil) + + dummy_room_response = { url: 'dummy_url' }.to_json + expect(Daily).to receive(:create_room).and_return(JSON.parse(dummy_room_response)) + + post :create, params: { project_id: project.id, broadcast: broadcast_params } + + expect(project.reload.live_meeting_url).to eq 'dummy_url' + end + context "with invalid data" do it "does not create a new record" do expect { diff --git a/spec/models/broadcast_spec.rb b/spec/models/broadcast_spec.rb index e7906a1..398cdcc 100644 --- a/spec/models/broadcast_spec.rb +++ b/spec/models/broadcast_spec.rb @@ -22,8 +22,9 @@ RSpec.describe Broadcast, type: :model do let(:live_stream_playback_data) { OpenStruct.new(data: OpenStruct.new(id: "playback_id")) } let(:simulcast_data) { OpenStruct.new(data: OpenStruct.new(id: "simulcast_id")) } - it 'triggers create_mux_live_stream' do + it 'triggers create_mux_live_stream and create_live_meeting_if_not_created' do expect(broadcast).to receive(:create_mux_live_stream) + expect(broadcast).to receive(:create_live_meeting_if_not_created) broadcast.run_callbacks(:create) end