Files
old-holivud2/spec/jobs/track_analytics_job_spec.rb
2020-05-31 22:38:19 +02:00

50 lines
1.7 KiB
Ruby

require "rails_helper"
RSpec.describe TrackAnalyticsJob, type: :job do
let(:user) { create(:user) }
let(:account) { user.primary_account }
describe ".perform_now" do
it "uses the given user and account to build an analytics tracker" do
analytics = instance_double(Analytics)
allow(Analytics).to receive(:new).and_return(analytics)
allow(analytics).to receive(:track_video_upload)
TrackAnalyticsJob.perform_now user, account, :track_video_upload, user_agent: "Mozilla Firefox", user_ip: "0.0.0.0"
expect(Analytics).to have_received(:new).with(user, account)
end
it "calls the right analytics tracking method" do
analytics = instance_double(Analytics)
allow(Analytics).to receive(:new).and_return(analytics)
allow(analytics).to receive(:track_video_upload)
TrackAnalyticsJob.perform_now user, account, :track_video_upload, user_agent: "Mozilla Firefox", user_ip: "0.0.0.0"
expect(analytics).to have_received(:track_video_upload)
end
it "passes arguments to the analytics tracking call" do
account = build(:account)
analytics = instance_double(Analytics)
allow(Analytics).to receive(:new).and_return(analytics)
allow(analytics).to receive(:track_create_native_release)
TrackAnalyticsJob.perform_now(
user, account,
:track_create_native_release,
release_type: "AppearanceRelease",
account: account,
user_agent: "Mozilla Firefox",
user_ip: "0.0.0.0",
)
expect(analytics).to(
have_received(:track_create_native_release)
.with(release_type: "AppearanceRelease", account: account, user_agent: "Mozilla Firefox", user_ip: "0.0.0.0")
)
end
end
end