add spec
This commit is contained in:
@@ -54,6 +54,46 @@ feature "User managing broadcasts" do
|
|||||||
expect(page).to have_content(recording.download_file_name)
|
expect(page).to have_content(recording.download_file_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "user can go back and forth between live session and previous sessions", js: true do
|
||||||
|
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
|
||||||
|
recording = create(:broadcast_recording, broadcast: broadcast)
|
||||||
|
|
||||||
|
visit project_broadcast_path(project, broadcast)
|
||||||
|
|
||||||
|
expect(page).to have_content broadcast.name.titleize, count: 1
|
||||||
|
expect(page).to have_content recording.download_file_name, count: 0
|
||||||
|
|
||||||
|
click_on switch_view_dropdown
|
||||||
|
expect(page).to have_content broadcast.name.titleize, count: 2
|
||||||
|
expect(page).to have_content recording.download_file_name, count: 1
|
||||||
|
|
||||||
|
live_stream_nav_item = page.find(".dropdown-item", text: broadcast.name.titleize)
|
||||||
|
recording_nav_item = page.find(".dropdown-item", text: recording.download_file_name)
|
||||||
|
|
||||||
|
expect(live_stream_nav_item[:class].include?("active")).to eq true
|
||||||
|
expect(recording_nav_item[:class].include?("active")).to eq false
|
||||||
|
|
||||||
|
click_on recording.download_file_name
|
||||||
|
|
||||||
|
expect(page).to have_content broadcast.name.titleize, count: 1
|
||||||
|
expect(page).to have_content recording.download_file_name, count: 0
|
||||||
|
expect(live_stream_nav_item[:class].include?("active")).to eq false
|
||||||
|
expect(recording_nav_item[:class].include?("active")).to eq true
|
||||||
|
|
||||||
|
click_on switch_view_dropdown
|
||||||
|
click_on broadcast.name.titleize
|
||||||
|
|
||||||
|
expect(page).to have_content broadcast.name.titleize, count: 1
|
||||||
|
expect(page).to have_content recording.download_file_name, count: 0
|
||||||
|
|
||||||
|
# Page is reloaded, we need to get dropdown items again
|
||||||
|
live_stream_nav_item = page.find(".dropdown-item", text: broadcast.name.titleize, visible: :all)
|
||||||
|
recording_nav_item = page.find(".dropdown-item", text: recording.download_file_name, visible: :all)
|
||||||
|
|
||||||
|
expect(live_stream_nav_item[:class].include?("active")).to eq true
|
||||||
|
expect(recording_nav_item[:class].include?("active")).to eq false
|
||||||
|
end
|
||||||
|
|
||||||
scenario "form will not submit if user clicks Add files without selected files", js: true do
|
scenario "form will not submit if user clicks Add files without selected files", js: true do
|
||||||
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
|
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
|
||||||
|
|
||||||
@@ -74,9 +114,9 @@ feature "User managing broadcasts" do
|
|||||||
|
|
||||||
new_window = window_opened_by { click_link "Multi-View" }
|
new_window = window_opened_by { click_link "Multi-View" }
|
||||||
within_window new_window do
|
within_window new_window do
|
||||||
expect(page).to have_content("Switch View")
|
expect(page).to have_content switch_view_dropdown
|
||||||
|
|
||||||
click_on "Switch View"
|
click_on switch_view_dropdown
|
||||||
expect(page).to have_link("Broadcast 1")
|
expect(page).to have_link("Broadcast 1")
|
||||||
expect(page).to have_link("Broadcast 2")
|
expect(page).to have_link("Broadcast 2")
|
||||||
|
|
||||||
@@ -106,4 +146,8 @@ feature "User managing broadcasts" do
|
|||||||
all('input[type="checkbox"]')[0].click
|
all('input[type="checkbox"]')[0].click
|
||||||
all('input[type="checkbox"]')[1].click
|
all('input[type="checkbox"]')[1].click
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def switch_view_dropdown
|
||||||
|
"Switch View"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user