Upstream sync

This commit is contained in:
Senad Uka
2020-08-20 06:50:51 +02:00
parent 190ff2854b
commit 41bf88e358
127 changed files with 1399 additions and 565 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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,

View File

@@ -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)

View File

@@ -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