adds specs for stats in queue
This commit is contained in:
45
spec/features/active_jobs_spec.rb
Normal file
45
spec/features/active_jobs_spec.rb
Normal file
@@ -0,0 +1,45 @@
|
||||
require 'rails_helper'
|
||||
|
||||
feature 'ActiveJob' do
|
||||
include ActiveJob::TestHelper
|
||||
|
||||
let(:admin) { create(:administrator) }
|
||||
|
||||
scenario 'use queue to track visits' do
|
||||
debate = create(:debate)
|
||||
|
||||
visit debate_path(debate)
|
||||
|
||||
expect(enqueued_jobs.size).to eq(1)
|
||||
perform_enqueued_jobs { StatsJob.perform_now(enqueued_jobs.first) }
|
||||
|
||||
login_as(admin.user)
|
||||
visit stats_path
|
||||
|
||||
expect(page).to have_content 'Visits (1)'
|
||||
end
|
||||
|
||||
scenario "use queue to track new debates" do
|
||||
user = create(:user)
|
||||
|
||||
login_as(user)
|
||||
visit new_debate_path
|
||||
|
||||
create_a_debate
|
||||
|
||||
expect(enqueued_jobs.size).to eq(2)
|
||||
|
||||
expect(enqueued_jobs.first[:args][1]["name"]).to eq("event")
|
||||
expect(enqueued_jobs.last[:args][1]["name"]).to eq("visit")
|
||||
|
||||
perform_enqueued_jobs do
|
||||
enqueued_jobs.each { |job| StatsJob.perform_now(job) }
|
||||
end
|
||||
|
||||
login_as(admin.user)
|
||||
visit stats_path
|
||||
|
||||
expect(page).to have_content 'Debate Created (1)'
|
||||
end
|
||||
|
||||
end
|
||||
@@ -34,6 +34,17 @@ module CommonActions
|
||||
click_button 'Send me reset password instructions'
|
||||
end
|
||||
|
||||
def create_a_debate
|
||||
fill_in 'debate_title', with: 'Acabar con los desahucios'
|
||||
fill_in 'debate_description', with: 'Esto es un tema muy importante porque...'
|
||||
fill_in 'debate_captcha', with: correct_captcha_text
|
||||
check 'debate_terms_of_service'
|
||||
|
||||
click_button 'Start a debate'
|
||||
|
||||
expect(page).to have_content 'Debate was successfully created.'
|
||||
end
|
||||
|
||||
def comment_on(debate)
|
||||
user = create(:user)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user