Upstream sync
This commit is contained in:
@@ -50,4 +50,21 @@ RSpec.describe BroadcastsChannel, type: :channel do
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
describe ".broadcast_file_upload_updates" do
|
||||
it 'broadcasts to the channel with the right data' do
|
||||
broadcast = create(:broadcast, :with_stream, :with_files, skip_create_callback: true)
|
||||
files_content = ApplicationController.render partial: "broadcasts/file", collection: broadcast.files
|
||||
|
||||
expect {
|
||||
BroadcastsChannel.broadcast_file_upload_updates(broadcast, broadcast.files, "pagination_content")
|
||||
}.to have_broadcasted_to(broadcast).with({
|
||||
event: 'file_upload_update',
|
||||
broadcast_token: broadcast.token,
|
||||
files_content: files_content,
|
||||
pagination_content: "pagination_content"
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -111,17 +111,6 @@ RSpec.describe BroadcastsController, type: :controller do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#update" do
|
||||
let!(:broadcast) { create(:broadcast, :with_stream, skip_create_callback: true, project: project ) }
|
||||
|
||||
it "uploads files to broadcast" do
|
||||
patch :update, params: { project_id: project.id, id: broadcast.id, broadcast: file_params }, xhr: true
|
||||
|
||||
expect(broadcast.files.count).to eq(1)
|
||||
expect(broadcast.files.first.filename).to eq("contract.pdf")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#show" do
|
||||
let(:broadcast) { create(:broadcast, project: project, name: "Another Broadcast") }
|
||||
|
||||
@@ -198,6 +187,25 @@ RSpec.describe BroadcastsController, type: :controller do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#update" do
|
||||
let!(:broadcast) { create(:broadcast, :with_stream, skip_create_callback: true, project: project ) }
|
||||
|
||||
it "uploads files to broadcast" do
|
||||
patch :update, params: { project_id: project.id, id: broadcast.id, broadcast: file_params }, xhr: true
|
||||
|
||||
expect(broadcast.files.count).to eq(1)
|
||||
expect(broadcast.files.first.filename).to eq("contract.pdf")
|
||||
end
|
||||
|
||||
it "sends an update to the broadcasts channel" do
|
||||
allow(BroadcastsChannel).to receive(:broadcast_file_upload_updates)
|
||||
|
||||
patch :update, params: { project_id: project.id, id: broadcast.id, broadcast: file_params }, xhr: true
|
||||
|
||||
expect(BroadcastsChannel).to have_received(:broadcast_file_upload_updates)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#destroy" do
|
||||
let!(:broadcast_2) { create(:broadcast, :with_stream, skip_create_callback: true, project: project, name: "Another Broadcast") }
|
||||
|
||||
|
||||
@@ -92,6 +92,14 @@ RSpec.describe Public::BroadcastsController, type: :controller do
|
||||
expect(broadcast.files.count).to eq(1)
|
||||
expect(broadcast.files.first.filename).to eq("contract.pdf")
|
||||
end
|
||||
|
||||
it "sends an update to the broadcasts channel" do
|
||||
allow(BroadcastsChannel).to receive(:broadcast_file_upload_updates)
|
||||
|
||||
patch :update, params: { token: broadcast.token, broadcast: file_params }, xhr: true
|
||||
|
||||
expect(BroadcastsChannel).to have_received(:broadcast_file_upload_updates)
|
||||
end
|
||||
end
|
||||
|
||||
after do
|
||||
|
||||
@@ -46,15 +46,17 @@ feature "User managing broadcasts" do
|
||||
expect(page).to have_content("Live stream is waiting to begin.")
|
||||
expect(page).to have_content("Copy URL")
|
||||
|
||||
click_on "Files"
|
||||
expect(page).to have_content("contract.pdf")
|
||||
within "#files" do
|
||||
expect(page).to have_content("contract.pdf")
|
||||
end
|
||||
|
||||
click_on "Previous Sessions"
|
||||
expect(page).to have_content(recording.download_file_name)
|
||||
end
|
||||
|
||||
scenario "visit multi-view broadcast page", js: true do
|
||||
broadcasts = create_list(:broadcast, 4, :with_stream, project: project)
|
||||
broadcast_one = create(:broadcast, :with_stream, :with_files, name: "Broadcast 1", project: project)
|
||||
broadcast_two = create(:broadcast, :with_stream, :with_files, name: "Broadcast 2", project: project)
|
||||
|
||||
visit project_broadcasts_path(project)
|
||||
click_checkboxes
|
||||
@@ -64,8 +66,16 @@ feature "User managing broadcasts" do
|
||||
expect(page).to have_content("Switch View")
|
||||
|
||||
click_on "Switch View"
|
||||
expect(page).to have_link(broadcasts.first.name)
|
||||
expect(page).to have_link(broadcasts.second.name)
|
||||
expect(page).to have_link("Broadcast 1")
|
||||
expect(page).to have_link("Broadcast 2")
|
||||
|
||||
within "#files" do
|
||||
click_on "Broadcast 1"
|
||||
expect(page).to have_content("contract.pdf")
|
||||
|
||||
click_on "Broadcast 2"
|
||||
expect(page).to have_content("contract.pdf")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -77,7 +87,7 @@ feature "User managing broadcasts" do
|
||||
end
|
||||
|
||||
def click_checkboxes
|
||||
all('input[type="checkbox"]')[0].click
|
||||
all('input[type="checkbox"]')[1].click
|
||||
all('input[type="checkbox"]')[2].click
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user