Upstream sync
This commit is contained in:
@@ -87,26 +87,10 @@ RSpec.describe AcquiredMediaReleasesController, type: :controller do
|
||||
}.to have_enqueued_job(SetTagsForReleasableJob).with(AcquiredMediaRelease.last)
|
||||
end
|
||||
|
||||
it "creates nested file info records" do
|
||||
expect {
|
||||
post :create, params: {
|
||||
project_id: project,
|
||||
acquired_media_release: acquired_media_release_params.merge(
|
||||
file_infos_attributes: {
|
||||
0 => attributes_for(:file_info)
|
||||
}
|
||||
)
|
||||
}
|
||||
}.to change(FileInfo, :count).by(1)
|
||||
expect(AcquiredMediaRelease.last.file_infos.size).to eq(1)
|
||||
end
|
||||
it "adds files to release" do
|
||||
post :create, params: { project_id: project, acquired_media_release: acquired_media_release_params.merge(file_params) }
|
||||
|
||||
it "logs analytics" do
|
||||
expect {
|
||||
post :create, params: { project_id: project, acquired_media_release: acquired_media_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob).with(user, account, :track_create_non_native_release, release_type: "AcquiredMediaRelease", user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
expect(AcquiredMediaRelease.last.files.size).to eq(1)
|
||||
end
|
||||
|
||||
context "when the record would be invalid" do
|
||||
@@ -206,4 +190,11 @@ RSpec.describe AcquiredMediaReleasesController, type: :controller do
|
||||
restriction_text: "restrictions",
|
||||
}
|
||||
end
|
||||
|
||||
def file_params
|
||||
path = Rails.root.join("spec", "fixtures", "files", "contract.pdf")
|
||||
contract_file = Rack::Test::UploadedFile.new(path, "application/pdf")
|
||||
|
||||
{ files: [contract_file] }
|
||||
end
|
||||
end
|
||||
|
||||
@@ -117,7 +117,7 @@ RSpec.describe Admin::AccountsController, type: :controller do
|
||||
end
|
||||
|
||||
it "paginates the broadcast list" do
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
|
||||
stub_mux_live_stream
|
||||
project = create(:project, account: current_user.primary_account)
|
||||
create_list(:broadcast, 20, project: project )
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ RSpec.describe Admin::BroadcastsController, type: :controller do
|
||||
|
||||
before do
|
||||
sign_in(current_user)
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
describe "#edit" do
|
||||
|
||||
@@ -7,7 +7,7 @@ RSpec.describe Api::BroadcastsController, type: :controller do
|
||||
|
||||
describe '#index' do
|
||||
before do
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: 'id', key: 'key', playback_id: 'playback_id'))
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
it 'returns a list of all broadcasts ready for streaming in the project' do
|
||||
|
||||
@@ -152,14 +152,6 @@ RSpec.describe AppearanceReleasesController, tye: :controller do
|
||||
}.to have_enqueued_job(SetTagsForReleasableJob).with(AppearanceRelease.last)
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
expect {
|
||||
post :create, params: { project_id: project, appearance_release: appearance_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob).with(user, account, :track_create_non_native_release, release_type: "AppearanceRelease", user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
context "when the record would be invalid" do
|
||||
before do
|
||||
allow_any_instance_of(AppearanceRelease).to receive(:save).and_return(false)
|
||||
|
||||
@@ -16,7 +16,7 @@ RSpec.describe BroadcastRecordingsController, type: :controller do
|
||||
let(:recording) { create(:broadcast_recording, broadcast: broadcast) }
|
||||
|
||||
before do
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
it "hides the broadcast recording" do
|
||||
|
||||
@@ -13,7 +13,7 @@ RSpec.describe BroadcastsController, type: :controller do
|
||||
|
||||
describe "#index" do
|
||||
before do
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
it "responds successfully" do
|
||||
@@ -79,7 +79,7 @@ RSpec.describe BroadcastsController, type: :controller do
|
||||
|
||||
describe "#create" do
|
||||
before do
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
it "responds with a redirect" do
|
||||
@@ -108,13 +108,39 @@ RSpec.describe BroadcastsController, type: :controller do
|
||||
}.not_to change(Broadcast, :count)
|
||||
end
|
||||
end
|
||||
|
||||
context "when Mux API error occurs" do
|
||||
it "displays an alert message" do
|
||||
allow_any_instance_of(Broadcast).to receive(:create_mux_live_stream).and_raise(MuxRuby::ApiError)
|
||||
|
||||
expect {
|
||||
post :create, params: { project_id: project.id, broadcast: broadcast_params }
|
||||
}.not_to change(Broadcast, :count)
|
||||
|
||||
expect(response).to be_redirect
|
||||
expect(flash.alert).not_to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context "when ActiveResource API error occurs" do
|
||||
it "displays an alert message" do
|
||||
allow_any_instance_of(Broadcast).to receive(:create_mux_live_stream).and_raise(ActiveResource::ConnectionError.new(""))
|
||||
|
||||
expect {
|
||||
post :create, params: { project_id: project.id, broadcast: broadcast_params }
|
||||
}.not_to change(Broadcast, :count)
|
||||
|
||||
expect(response).to be_redirect
|
||||
expect(flash.alert).not_to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#show" do
|
||||
let(:broadcast) { create(:broadcast, project: project, name: "Another Broadcast") }
|
||||
|
||||
before do
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
it "responds successfully" do
|
||||
@@ -213,6 +239,16 @@ RSpec.describe BroadcastsController, type: :controller do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when video conference url has been overriden' do
|
||||
let(:broadcast) { create(:broadcast, project: project, video_conference_url_override: 'https://test.com') }
|
||||
|
||||
it 'uses the override url for the video conference button' do
|
||||
get :show, params: { project_id: project, id: broadcast }
|
||||
|
||||
expect(response.body).to have_link("Video Conference", href: 'https://test.com')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#update" do
|
||||
|
||||
@@ -95,7 +95,7 @@ describe ContractTemplatesController do
|
||||
describe '#create' do
|
||||
it 'redirects' do
|
||||
post :create, params: { project_id: project, contract_template: contract_template_params(valid: true) }
|
||||
|
||||
|
||||
expect(response).to redirect_to(project_contract_templates_path(project))
|
||||
end
|
||||
|
||||
@@ -112,6 +112,14 @@ describe ContractTemplatesController do
|
||||
end.to change(ContractTemplate, :count).by(1)
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
expect {
|
||||
post :create, params: { project_id: project, contract_template: contract_template_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob).with(current_user, current_user.primary_account, :track_create_contract_template, user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
context 'when save fails' do
|
||||
it 'responds ok' do
|
||||
post :create, params: { project_id: project, contract_template: contract_template_params(valid: false) }
|
||||
@@ -120,6 +128,15 @@ describe ContractTemplatesController do
|
||||
end
|
||||
end
|
||||
|
||||
context 'when exhibit fields are present' do
|
||||
it 'saves them' do
|
||||
post :create, params: { project_id: project, contract_template: contract_template_params_with_exhibit_fields }
|
||||
|
||||
expect(ContractTemplate.last.has_exhibit_a?).to be_truthy
|
||||
expect(ContractTemplate.last.has_exhibit_b?).to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
context 'when current user is an associate' do
|
||||
let(:current_user) { create(:user, :associate) }
|
||||
|
||||
@@ -214,12 +231,21 @@ describe ContractTemplatesController do
|
||||
|
||||
def contract_template_params(valid: true)
|
||||
if valid
|
||||
attributes_for(:contract_template).merge(exploitable_rights_params)
|
||||
attributes_for(:contract_template).merge(exploitable_rights_params).merge({exhibit_a_legal_text: "Legal Text Exhibit A"})
|
||||
else
|
||||
attributes_for(:contract_template).except(:name)
|
||||
end
|
||||
end
|
||||
|
||||
def contract_template_params_with_exhibit_fields
|
||||
contract_template_params(valid: true).merge({
|
||||
exhibit_a_legal_text: "Exhibit A legal text",
|
||||
exhibit_b_legal_text: "Exhibit B legal text",
|
||||
exhibit_a_question_text: "Exhibit A Question",
|
||||
exhibit_b_question_text: "Exhibit B Question",
|
||||
})
|
||||
end
|
||||
|
||||
def exploitable_rights_params
|
||||
{
|
||||
applicable_medium_id: ApplicableMedium.last.id,
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
require "rails_helper"
|
||||
|
||||
RSpec.describe FileInfosController, type: :controller do
|
||||
render_views
|
||||
|
||||
let(:current_user) { create(:user) }
|
||||
let(:project) { create(:project, account: current_user.accounts.first) }
|
||||
let(:acquired_media_release) { create(:acquired_media_release, project: project) }
|
||||
|
||||
before do
|
||||
sign_in(current_user)
|
||||
end
|
||||
|
||||
shared_examples "a file infoable releases controller" do
|
||||
describe "#edit" do
|
||||
it "responds successfully" do
|
||||
get :edit, params: { "#{subject.model_name.param_key}_id" => subject }
|
||||
|
||||
expect(response).to be_successful
|
||||
end
|
||||
end
|
||||
|
||||
describe "#update" do
|
||||
context "when releasable updated successfully" do
|
||||
it "responds with a redirect" do
|
||||
patch :update, params: { "#{subject.model_name.param_key}_id": subject, subject.model_name.param_key => release_params }
|
||||
|
||||
expect(response).to be_redirect
|
||||
expect(response).to redirect_to [project, subject.model_name.plural]
|
||||
expect(flash.notice).to eq(t("file_infos.update.notice"))
|
||||
end
|
||||
|
||||
it "enqueues tagging job" do
|
||||
expect {
|
||||
patch :update, params: { "#{subject.model_name.param_key}_id": subject, subject.model_name.param_key => {} }
|
||||
}.to have_enqueued_job(SetTagsForReleasableJob).with(subject.class.last)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "when releasable NOT updated successfully" do
|
||||
before do
|
||||
allow_any_instance_of(subject.class).to receive(:update).and_return(false)
|
||||
end
|
||||
|
||||
it "renders edit with flash message" do
|
||||
patch :update, params: { "#{subject.model_name.param_key}_id": subject, subject.model_name.param_key => release_params }
|
||||
|
||||
expect(controller).to have_rendered(:edit)
|
||||
end
|
||||
|
||||
it "does not enqueue tagging job" do
|
||||
expect {
|
||||
patch :update, params: { "#{subject.model_name.param_key}_id": subject, subject.model_name.param_key => release_params }
|
||||
}.not_to have_enqueued_job(SetTagsForReleasableJob)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "for acquired media releases" do
|
||||
subject { create(:acquired_media_release, project: project) }
|
||||
|
||||
it_behaves_like "a file infoable releases controller"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def release_params
|
||||
files = 2.times.map { Rack::Test::UploadedFile.new(file_fixture("audio.mp3"), "audio/mp3") }
|
||||
|
||||
{ file_infos_attributes: files }
|
||||
end
|
||||
end
|
||||
@@ -90,14 +90,6 @@ RSpec.describe LocationReleasesController, type: :controller do
|
||||
}.to have_enqueued_job(SetTagsForReleasableJob).with(LocationRelease.last)
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
expect {
|
||||
post :create, params: { project_id: project, location_release: location_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob).with(user, account, :track_create_non_native_release, release_type: "LocationRelease", user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
context "when the record would be invalid" do
|
||||
before do
|
||||
allow_any_instance_of(LocationRelease).to receive(:save).and_return(false)
|
||||
|
||||
@@ -87,14 +87,6 @@ RSpec.describe MaterialReleasesController, type: :controller do
|
||||
}.to have_enqueued_job(SetTagsForReleasableJob).with(MaterialRelease.last)
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
expect {
|
||||
post :create, params: { project_id: project, material_release: material_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob).with(user, account, :track_create_non_native_release, release_type: "MaterialRelease", user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
context "when the record would be invalid" do
|
||||
before do
|
||||
allow_any_instance_of(MaterialRelease).to receive(:save).and_return(false)
|
||||
|
||||
@@ -145,14 +145,6 @@ RSpec.describe MusicReleasesController, type: :controller do
|
||||
}.to have_enqueued_job(SetTagsForReleasableJob).with(MusicRelease.last)
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
expect {
|
||||
post :create, params: { project_id: project, music_release: music_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob).with(user, account, :track_create_non_native_release, release_type: "MusicRelease", user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
context "when the record would be invalid" do
|
||||
before :each do
|
||||
allow_any_instance_of(MusicRelease).to receive(:save).and_return(false)
|
||||
|
||||
@@ -7,17 +7,6 @@ RSpec.describe Public::AcquiredMediaReleasesController, type: :controller do
|
||||
render_views
|
||||
|
||||
describe "#create" do
|
||||
it "logs analytics" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
|
||||
expect {
|
||||
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, acquired_media_release: acquired_media_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob)
|
||||
.with(nil, nil, :track_create_native_release, release_type: "AcquiredMediaRelease", account: project.account, user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
it "displays validation errors" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
sign_in(user)
|
||||
|
||||
@@ -4,96 +4,108 @@ RSpec.describe Public::AmendmentsController, type: :controller do
|
||||
let(:user) { create(:user) }
|
||||
let(:account) { user.primary_account }
|
||||
let(:project) { create(:project, account: account) }
|
||||
let(:contract_template) { create(:location_release_contract_template, :with_amendment_clause, project: project) }
|
||||
let(:location_release) { create(:location_release, contract_template: contract_template, project: project) }
|
||||
|
||||
render_views
|
||||
|
||||
describe "#new" do
|
||||
it "shows amendment signing form for non-signed amendment of a release" do
|
||||
expect(location_release.amendment_signed?).to be_falsey
|
||||
shared_examples "amendments signing controller" do
|
||||
describe "#new" do
|
||||
it "shows amendment signing form for non-signed amendment of a release" do
|
||||
expect(subject.amendment_signed?).to be_falsey
|
||||
|
||||
get :new, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: location_release.contract_template,
|
||||
location_release_id: location_release
|
||||
}
|
||||
get :new, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: subject.contract_template,
|
||||
"#{subject.model_name.param_key}_id": subject
|
||||
}
|
||||
|
||||
expect(response).to be_successful
|
||||
expect(response).to be_successful
|
||||
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).not_to match already_signed_message
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).not_to match already_signed_message
|
||||
end
|
||||
|
||||
it "shows already signed message for signed amendment of a release" do
|
||||
expect(signed_release.amendment_signed?).to be_truthy
|
||||
|
||||
get :new, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: signed_release.contract_template,
|
||||
"#{signed_release.model_name.param_key}_id": signed_release
|
||||
}
|
||||
|
||||
expect(response).to be_successful
|
||||
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).to match already_signed_message
|
||||
end
|
||||
end
|
||||
|
||||
it "shows already signed message for signed amendment of a release" do
|
||||
signed_release = create(:location_release, :amendment_signed, contract_template: contract_template, project: project)
|
||||
describe "#create" do
|
||||
it "signs amendment" do
|
||||
expect(subject.amendment_signed?).to be_falsey
|
||||
|
||||
expect(signed_release.amendment_signed?).to be_truthy
|
||||
post :create, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: subject.contract_template,
|
||||
"#{subject.model_name.param_key}_id": subject,
|
||||
"#{subject.model_name.param_key}": {
|
||||
amendment_signer_name: "Signer Name",
|
||||
amendment_signature_base64: signature_base64
|
||||
}
|
||||
}
|
||||
|
||||
get :new, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: location_release.contract_template,
|
||||
location_release_id: signed_release
|
||||
}
|
||||
expect(response).to be_successful
|
||||
|
||||
expect(response).to be_successful
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).not_to match already_signed_message
|
||||
expect(body).to match signed_successfully_message
|
||||
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).to match already_signed_message
|
||||
expect(subject.class.last.amendment_signed?).to be_truthy
|
||||
expect(subject.class.last.amendment_signer_name).to eq "Signer Name"
|
||||
end
|
||||
|
||||
it "shows already signed message for signed amendment of a release" do
|
||||
expect(signed_release.amendment_signed?).to be_truthy
|
||||
|
||||
post :create, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: signed_release.contract_template,
|
||||
"#{signed_release.model_name.param_key}_id": signed_release,
|
||||
"#{signed_release.model_name.param_key}": {
|
||||
amendment_signer_name: "Signer Who",
|
||||
amendment_signature_base64: signature_base64
|
||||
}
|
||||
}
|
||||
|
||||
expect(response).to be_successful
|
||||
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).to match already_signed_message
|
||||
|
||||
expect(signed_release.amendment_signed?).to be_truthy
|
||||
expect(signed_release.amendment_signer_name).to eq "Amendment Signer"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#create" do
|
||||
it "signs amendment" do
|
||||
expect(location_release.amendment_signed?).to be_falsey
|
||||
context "for location release" do
|
||||
let(:contract_template) { create(:location_release_contract_template, :with_amendment_clause, project: project) }
|
||||
let(:signed_release) { create(:location_release, :amendment_signed, contract_template: contract_template, project: project) }
|
||||
subject { create(:location_release, contract_template: contract_template, project: project) }
|
||||
|
||||
post :create, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: location_release.contract_template,
|
||||
location_release_id: location_release,
|
||||
location_release: {
|
||||
amendment_signer_name: "Signer Name",
|
||||
amendment_signature_base64: signature_base64
|
||||
}
|
||||
}
|
||||
it_behaves_like "amendments signing controller"
|
||||
end
|
||||
|
||||
expect(response).to be_successful
|
||||
context "for appearance release" do
|
||||
let(:contract_template) { create(:appearance_release_contract_template, :with_amendment_clause, project: project) }
|
||||
let(:signed_release) { create(:appearance_release, :amendment_signed, contract_template: contract_template, project: project) }
|
||||
subject { create(:appearance_release, contract_template: contract_template, project: project) }
|
||||
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).not_to match already_signed_message
|
||||
expect(body).to match signed_successfully_message
|
||||
|
||||
expect(LocationRelease.last.amendment_signed?).to be_truthy
|
||||
expect(LocationRelease.last.amendment_signer_name).to eq "Signer Name"
|
||||
end
|
||||
|
||||
it "shows already signed message for signed amendment of a release" do
|
||||
signed_release = create(:location_release, :amendment_signed, name: "Test Loc", amendment_signer_name: "Big Signer", contract_template: contract_template, project: project)
|
||||
|
||||
expect(signed_release.amendment_signed?).to be_truthy
|
||||
|
||||
post :create, params: {
|
||||
account_id: account,
|
||||
project_id: project,
|
||||
contract_template_id: location_release.contract_template,
|
||||
location_release_id: signed_release,
|
||||
location_release: {
|
||||
amendment_signer_name: "Signer Who",
|
||||
amendment_signature_base64: signature_base64
|
||||
}
|
||||
}
|
||||
|
||||
expect(response).to be_successful
|
||||
|
||||
body = CGI.unescape_html(response.body)
|
||||
expect(body).to match already_signed_message
|
||||
|
||||
expect(signed_release.amendment_signed?).to be_truthy
|
||||
expect(signed_release.amendment_signer_name).to eq "Big Signer"
|
||||
end
|
||||
it_behaves_like "amendments signing controller"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -11,22 +11,6 @@ describe Public::AppearanceReleasesController do
|
||||
end
|
||||
|
||||
describe "#create" do
|
||||
it "logs analytics" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
|
||||
expect {
|
||||
post :create, params: {
|
||||
account_id: project.account.to_param,
|
||||
project_id: project,
|
||||
contract_template_id: contract_template,
|
||||
appearance_release: appearance_release_params
|
||||
}
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob)
|
||||
.with(nil, nil, :track_create_native_release, release_type: "AppearanceRelease", account: project.account, user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
it "displays validation errors" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
sign_in(user)
|
||||
|
||||
@@ -8,7 +8,7 @@ RSpec.describe Public::BroadcastsController, type: :controller do
|
||||
let(:project) { create(:project, account: user.primary_account) }
|
||||
|
||||
before do
|
||||
allow(MuxLiveStream).to receive(:new).and_return(double(id: "id", key: "key", playback_id: "playback_id"))
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
describe "#show" do
|
||||
@@ -81,6 +81,16 @@ RSpec.describe Public::BroadcastsController, type: :controller do
|
||||
expect(response.body).to have_selector(".dropdown-menu a.dropdown-item", text: recording.download_file_name)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when video conference url has been overriden' do
|
||||
let(:broadcast) { create(:broadcast, project: project, video_conference_url_override: 'https://test.com') }
|
||||
|
||||
it 'uses the override url for the video conference button' do
|
||||
get :show, params: { token: broadcast.token }
|
||||
|
||||
expect(response.body).to have_link("Video Conference", href: 'https://test.com')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#update" do
|
||||
|
||||
@@ -16,17 +16,6 @@ describe Public::LocationReleasesController do
|
||||
expect(LocationRelease.last.photos.attached?).to eq true
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
|
||||
expect {
|
||||
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, location_release: location_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob)
|
||||
.with(nil, nil, :track_create_native_release, release_type: "LocationRelease", account: project.account, user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
it "displays validation errors" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
sign_in(user)
|
||||
|
||||
@@ -16,17 +16,6 @@ describe Public::MaterialReleasesController do
|
||||
expect(MaterialRelease.last.photos.attached?).to eq true
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
|
||||
expect {
|
||||
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, material_release: material_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob)
|
||||
.with(nil, nil, :track_create_native_release, release_type: "MaterialRelease", account: project.account, user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
it "displays validation errors" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
sign_in(user)
|
||||
|
||||
@@ -7,17 +7,6 @@ RSpec.describe Public::MedicalReleasesController, type: :controller do
|
||||
render_views
|
||||
|
||||
describe "#create" do
|
||||
it "logs analytics" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
|
||||
expect {
|
||||
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, medical_release: medical_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob)
|
||||
.with(nil, nil, :track_create_native_release, release_type: "MedicalRelease", account: project.account, user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
it "displays validation errors" do
|
||||
contract_template = create(:contract_template,
|
||||
project: project,
|
||||
|
||||
@@ -7,17 +7,6 @@ RSpec.describe Public::TalentReleasesController, type: :controller do
|
||||
render_views
|
||||
|
||||
describe "#create" do
|
||||
it "logs analytics" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
|
||||
expect {
|
||||
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, talent_release: talent_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob)
|
||||
.with(nil, nil, :track_create_native_release, release_type: "TalentRelease", account: project.account, user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
it "displays validation errors" do
|
||||
contract_template = create(:contract_template, project: project)
|
||||
sign_in(user)
|
||||
|
||||
@@ -13,7 +13,7 @@ RSpec.describe Public::ZoomMeetingsController, type: :controller do
|
||||
allow_any_instance_of(ZoomGateway).to receive(:find_meeting).and_return(meeting_hash)
|
||||
allow_any_instance_of(ZoomGateway).to receive(:create_meeting).and_return("meeting_id")
|
||||
allow_any_instance_of(ZoomGateway).to receive(:create_host).and_return("host_id")
|
||||
allow(MuxLiveStream).to receive(:new).and_return OpenStruct.new(id: 'id', key: 'key', playback_id: 'playback_id')
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
describe "#show" do
|
||||
|
||||
@@ -110,14 +110,6 @@ RSpec.describe TalentReleasesController, type: :controller do
|
||||
}.to have_enqueued_job(SetTagsForReleasableJob).with(TalentRelease.last)
|
||||
end
|
||||
|
||||
it "logs analytics" do
|
||||
expect {
|
||||
post :create, params: { project_id: project, talent_release: talent_release_params }
|
||||
}.to(
|
||||
have_enqueued_job(TrackAnalyticsJob).with(user, account, :track_create_non_native_release, release_type: "TalentRelease", user_agent: "Rails Testing", user_ip: "0.0.0.0")
|
||||
)
|
||||
end
|
||||
|
||||
context "when the record would be invalid" do
|
||||
before do
|
||||
allow_any_instance_of(TalentRelease).to receive(:save).and_return(false)
|
||||
|
||||
@@ -16,7 +16,7 @@ RSpec.describe ZoomMeetingsController, type: :controller do
|
||||
allow_any_instance_of(ZoomGateway).to receive(:find_meeting).and_return(meeting_hash)
|
||||
allow_any_instance_of(ZoomGateway).to receive(:create_meeting).and_return("meeting_id")
|
||||
allow_any_instance_of(ZoomGateway).to receive(:create_host).and_return("host_id")
|
||||
allow(MuxLiveStream).to receive(:new).and_return OpenStruct.new(id: 'id', key: 'key', playback_id: 'playback_id')
|
||||
stub_mux_live_stream
|
||||
end
|
||||
|
||||
describe "#show" do
|
||||
|
||||
Reference in New Issue
Block a user