Upstream sync

This commit is contained in:
Senad Uka
2020-08-20 06:50:51 +02:00
parent 190ff2854b
commit 41bf88e358
127 changed files with 1399 additions and 565 deletions

View File

@@ -13,7 +13,7 @@ RSpec.describe BroadcastsController, type: :controller do
describe "#index" do
before do
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
stub_mux_live_stream
end
it "responds successfully" do
@@ -79,7 +79,7 @@ RSpec.describe BroadcastsController, type: :controller do
describe "#create" do
before do
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
stub_mux_live_stream
end
it "responds with a redirect" do
@@ -108,13 +108,39 @@ RSpec.describe BroadcastsController, type: :controller do
}.not_to change(Broadcast, :count)
end
end
context "when Mux API error occurs" do
it "displays an alert message" do
allow_any_instance_of(Broadcast).to receive(:create_mux_live_stream).and_raise(MuxRuby::ApiError)
expect {
post :create, params: { project_id: project.id, broadcast: broadcast_params }
}.not_to change(Broadcast, :count)
expect(response).to be_redirect
expect(flash.alert).not_to be_nil
end
end
context "when ActiveResource API error occurs" do
it "displays an alert message" do
allow_any_instance_of(Broadcast).to receive(:create_mux_live_stream).and_raise(ActiveResource::ConnectionError.new(""))
expect {
post :create, params: { project_id: project.id, broadcast: broadcast_params }
}.not_to change(Broadcast, :count)
expect(response).to be_redirect
expect(flash.alert).not_to be_nil
end
end
end
describe "#show" do
let(:broadcast) { create(:broadcast, project: project, name: "Another Broadcast") }
before do
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
stub_mux_live_stream
end
it "responds successfully" do
@@ -213,6 +239,16 @@ RSpec.describe BroadcastsController, type: :controller do
end
end
end
context 'when video conference url has been overriden' do
let(:broadcast) { create(:broadcast, project: project, video_conference_url_override: 'https://test.com') }
it 'uses the override url for the video conference button' do
get :show, params: { project_id: project, id: broadcast }
expect(response.body).to have_link("Video Conference", href: 'https://test.com')
end
end
end
describe "#update" do