From 928ef05f2ee4c083775f5eddf839cd4f40df475e Mon Sep 17 00:00:00 2001 From: Bilal Date: Tue, 1 Sep 2020 20:59:53 +0300 Subject: [PATCH] fix after rebase --- app/views/broadcasts/show.html.erb | 6 ++--- .../controllers/broadcasts_controller_spec.rb | 4 ++-- .../features/user_managing_broadcasts_spec.rb | 24 +++++++++++++++++++ 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/app/views/broadcasts/show.html.erb b/app/views/broadcasts/show.html.erb index ed6c4e4..bc8f740 100644 --- a/app/views/broadcasts/show.html.erb +++ b/app/views/broadcasts/show.html.erb @@ -48,18 +48,18 @@ <% if @broadcast.director_mode_video_embed.present? %> - <% if params[:director_mode] %> + <% unless params[:director_mode] %>
- <%= 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 %>
- <%= 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 %> diff --git a/spec/controllers/broadcasts_controller_spec.rb b/spec/controllers/broadcasts_controller_spec.rb index e9ec4eb..a3513a2 100644 --- a/spec/controllers/broadcasts_controller_spec.rb +++ b/spec/controllers/broadcasts_controller_spec.rb @@ -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") diff --git a/spec/features/user_managing_broadcasts_spec.rb b/spec/features/user_managing_broadcasts_spec.rb index 30fd848..03f34f6 100644 --- a/spec/features/user_managing_broadcasts_spec.rb +++ b/spec/features/user_managing_broadcasts_spec.rb @@ -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) }