41 lines
982 B
Ruby
41 lines
982 B
Ruby
|
require 'rails_helper'
|
||
|
|
||
|
RSpec.describe HasCollectionUpdate, type: :job do
|
||
|
|
||
|
context 'with groups' do
|
||
|
|
||
|
let!(:group) { create(:group) }
|
||
|
|
||
|
it 'create should enqueue no job' do
|
||
|
collection_jobs = enqueued_jobs.select do |job|
|
||
|
job[:job] == CollectionUpdateJob && job[:args][0] == 'Group'
|
||
|
end
|
||
|
|
||
|
expect(collection_jobs.count).to be(1)
|
||
|
end
|
||
|
|
||
|
context 'updating attribute' do
|
||
|
before do
|
||
|
clear_jobs
|
||
|
end
|
||
|
|
||
|
context 'name' do
|
||
|
it 'enqueues a job' do
|
||
|
expect { group.update!(name: 'new name') }.to have_enqueued_job(CollectionUpdateJob).with('Group')
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'updated_at' do
|
||
|
it 'enqueues a job' do
|
||
|
expect { group.touch }.to have_enqueued_job(CollectionUpdateJob).with('Group')
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
it 'delete should enqueue a job' do
|
||
|
clear_jobs
|
||
|
expect { group.destroy! }.to have_enqueued_job(CollectionUpdateJob).with('Group')
|
||
|
end
|
||
|
end
|
||
|
end
|