Compare commits

...

2 Commits

Author SHA1 Message Date
Bilal
928ef05f2e fix after rebase 2020-09-01 20:59:53 +03:00
Bilal
8cbe368e24 open broadcast page in director mode if available 2020-09-01 18:45:14 +03:00
4 changed files with 31 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
<% if broadcast.director_mode_video_embed.present? && params[:director_mode].present? %>
<div class="embed-responsive-item" data-video-type="stream">
<% if broadcast.director_mode_video_embed.present? && params[:director_mode].nil? %>
<div id="director_broadcast_video" class="embed-responsive-item" data-video-type="stream">
<%= raw broadcast.director_mode_video_embed %>
</div>
<% elsif broadcast.streamer_recording? && broadcast.active? %>

View File

@@ -48,18 +48,18 @@
</div>
</div>
<% if @broadcast.director_mode_video_embed.present? %>
<% if params[:director_mode] %>
<% unless params[:director_mode] %>
<div class="custom-control custom-switch ml-auto">
<input type="checkbox" name="director_mode" value="true" class="custom-control-input" id="director_mode_switch" checked="checked" />
<label class="custom-control-label text-white override-custom-control-label" for="director_mode_switch">Director Mode</label>
</div>
<%= link_to "Disable Director Mode", url_for(params.permit!.except(:director_mode)), class: "d-none", id: "director_mode_link" %>
<%= link_to "Disable Director Mode", [@broadcast.project, @broadcast, director_mode: false], class: "d-none", id: "director_mode_link" %>
<% else %>
<div class="custom-control custom-switch ml-auto">
<input type="checkbox" name="director_mode" value="true" class="custom-control-input" id="director_mode_switch" />
<label class="custom-control-label text-white override-custom-control-label" for="director_mode_switch">Director Mode</label>
</div>
<%= link_to "Enable Director Mode", url_for(params.permit!.merge(director_mode: true)), class: "d-none", id: "director_mode_link" %>
<%= link_to "Enable Director Mode", [@broadcast.project, @broadcast], class: "d-none", id: "director_mode_link" %>
<% end %>
<% end %>
</div>

View File

@@ -197,13 +197,13 @@ RSpec.describe BroadcastsController, type: :controller do
context "when director mode is enabled" do
it "shows the video embed" do
get :show, params: { project_id: project, id: broadcast, director_mode: true }
get :show, params: { project_id: project, id: broadcast }
expect(response.body).to have_selector("iframe", text: "video player")
end
it "renders the view dropdown with a director mode disable option" do
get :show, params: { project_id: project, id: broadcast, director_mode: true }
get :show, params: { project_id: project, id: broadcast }
expect(response.body).to have_content broadcast.name
expect(response.body).to have_selector(".custom-control-label", text: "Director Mode")

View File

@@ -151,6 +151,30 @@ feature 'User managing broadcasts' do
end
end
scenario 'opening broadcast page starts in normal mode if director mode is not available' do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
broadcast.director_mode_video_embed = nil
broadcast.save
visit project_broadcast_path(project, broadcast)
expect(page).not_to have_selector('#director_broadcast_video')
expect(page).to have_selector('#broadcast_video')
expect(page).not_to have_selector('#director_mode_switch')
end
scenario 'opening broadcast page starts in director mode if available' do
broadcast = create(:broadcast, :with_stream, :with_files, project: project, director_mode_video_embed: 'director_mode')
visit project_broadcast_path(project, broadcast)
expect(page).not_to have_selector('#broadcast_video')
expect(page).to have_selector('#director_broadcast_video')
expect(page).to have_selector('#director_mode_switch')
end
context 'When the user is associate' do
let(:current_user) { create(:user, :associate) }