allow user to star/unstar broadcast recordings

This commit is contained in:
Bilal
2020-08-25 00:21:42 +03:00
committed by Senad Uka
parent 896cec2259
commit 4a09406120
12 changed files with 160 additions and 29 deletions

View File

@@ -223,6 +223,42 @@ feature 'User managing broadcasts' do
expect(page).to have_content("Recording of the live stream will appear here")
end
scenario 'project manager can star broadcast recordings', js: true do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
recording = create(:broadcast_recording, broadcast: broadcast, asset_uid: "another_asset_uid")
visit project_broadcast_path(project, broadcast)
click_on 'Previous Sessions'
expect(page).to have_content(recording.download_file_name)
expect(page).to have_css('i.fa-star-o')
expect(page).not_to have_css('i.fa-star')
find('i.fa-star-o').find(:xpath, '..').click
expect(page).not_to have_css('i.fa-star-o')
expect(page).to have_css('i.fa-star')
end
scenario 'project manager can unstar broadcast recordings', js: true do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
recording = create(:broadcast_recording, broadcast: broadcast, asset_uid: "another_asset_uid", star: true)
visit project_broadcast_path(project, broadcast)
click_on 'Previous Sessions'
expect(page).to have_content(recording.download_file_name)
expect(page).to have_css('i.fa-star')
expect(page).not_to have_css('i.fa-star-o')
find('i.fa-star').find(:xpath, '..').click
expect(page).not_to have_css('i.fa-star')
expect(page).to have_css('i.fa-star-o')
end
context 'When the user is associate' do
let(:current_user) { create(:user, :associate) }
@@ -251,6 +287,19 @@ feature 'User managing broadcasts' do
expect(page).to have_content(recording.download_file_name)
expect(page).not_to have_content('Hide')
end
scenario 'associate does not see broadcast recordings star', js: true do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
recording = create(:broadcast_recording, broadcast: broadcast, asset_uid: "another_asset_uid", star: true)
visit project_broadcast_path(project, broadcast)
click_on 'Previous Sessions'
expect(page).to have_content(recording.download_file_name)
expect(page).not_to have_css('i.fa-star')
expect(page).not_to have_css('i.fa-star-o')
end
end
context 'When the user is account manager' do
@@ -295,6 +344,42 @@ feature 'User managing broadcasts' do
expect(page).not_to have_content(recording.download_file_name)
expect(page).to have_content("Recording of the live stream will appear here")
end
scenario 'account manager can star broadcast recordings', js: true do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
recording = create(:broadcast_recording, broadcast: broadcast, asset_uid: "another_asset_uid")
visit project_broadcast_path(project, broadcast)
click_on 'Previous Sessions'
expect(page).to have_content(recording.download_file_name)
expect(page).to have_css('i.fa-star-o')
expect(page).not_to have_css('i.fa-star')
find('i.fa-star-o').find(:xpath, '..').click
expect(page).not_to have_css('i.fa-star-o')
expect(page).to have_css('i.fa-star')
end
scenario 'account manager can unstar broadcast recordings', js: true do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
recording = create(:broadcast_recording, broadcast: broadcast, asset_uid: "another_asset_uid", star: true)
visit project_broadcast_path(project, broadcast)
click_on 'Previous Sessions'
expect(page).to have_content(recording.download_file_name)
expect(page).to have_css('i.fa-star')
expect(page).not_to have_css('i.fa-star-o')
find('i.fa-star').find(:xpath, '..').click
expect(page).not_to have_css('i.fa-star')
expect(page).to have_css('i.fa-star-o')
end
end
end