fix: Disable enqueueing Avatar jobs if the URL is invalid (#12035)
- Add a new queue purgable - Disable enqueuing the job if URL is invalid
This commit is contained in:
@@ -36,12 +36,18 @@ describe ContactIdentifyAction do
|
||||
expect(result.additional_attributes['social_profiles']).to eq({ 'linkedin' => 'saras', 'twitter' => 'saras' })
|
||||
end
|
||||
|
||||
it 'enques avatar job when avatar url parameter is passed' do
|
||||
it 'enqueues avatar job when valid avatar url parameter is passed' do
|
||||
params = { name: 'test', avatar_url: 'https://chatwoot-assets.local/sample.png' }
|
||||
expect(Avatar::AvatarFromUrlJob).to receive(:perform_later).with(contact, params[:avatar_url]).once
|
||||
described_class.new(contact: contact, params: params).perform
|
||||
end
|
||||
|
||||
it 'does not enqueue avatar job when invalid avatar url parameter is passed' do
|
||||
params = { name: 'test', avatar_url: 'invalid-url' }
|
||||
expect(Avatar::AvatarFromUrlJob).not_to receive(:perform_later)
|
||||
described_class.new(contact: contact, params: params).perform
|
||||
end
|
||||
|
||||
context 'when contact with same identifier exists' do
|
||||
it 'merges the current contact to identified contact' do
|
||||
existing_identified_contact = create(:contact, account: account, identifier: 'test_id')
|
||||
|
||||
@@ -7,7 +7,7 @@ RSpec.describe Avatar::AvatarFromGravatarJob do
|
||||
|
||||
it 'enqueues the job' do
|
||||
expect { described_class.perform_later(avatarable, email) }.to have_enqueued_job(described_class)
|
||||
.on_queue('low')
|
||||
.on_queue('purgable')
|
||||
end
|
||||
|
||||
it 'will call AvatarFromUrlJob with gravatar url' do
|
||||
|
||||
@@ -6,7 +6,7 @@ RSpec.describe Avatar::AvatarFromUrlJob do
|
||||
|
||||
it 'enqueues the job' do
|
||||
expect { described_class.perform_later(avatarable, avatar_url) }.to have_enqueued_job(described_class)
|
||||
.on_queue('low')
|
||||
.on_queue('purgable')
|
||||
end
|
||||
|
||||
it 'will attach avatar from url' do
|
||||
|
||||
Reference in New Issue
Block a user