Add coverage for Admin::DistributeTermsOfServiceNotificationWorker class (#33245)
				
					
				
			This commit is contained in:
		@@ -0,0 +1,32 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'rails_helper'
 | 
			
		||||
 | 
			
		||||
RSpec.describe Admin::DistributeTermsOfServiceNotificationWorker do
 | 
			
		||||
  let(:worker) { described_class.new }
 | 
			
		||||
 | 
			
		||||
  describe '#perform' do
 | 
			
		||||
    context 'with missing record' do
 | 
			
		||||
      it 'runs without error' do
 | 
			
		||||
        expect { worker.perform(nil) }.to_not raise_error
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'with valid terms' do
 | 
			
		||||
      let(:terms) { Fabricate(:terms_of_service) }
 | 
			
		||||
      let!(:user) { Fabricate :user, confirmed_at: 3.days.ago }
 | 
			
		||||
 | 
			
		||||
      it 'sends the terms update via email', :inline_jobs do
 | 
			
		||||
        emails = capture_emails { worker.perform(terms.id) }
 | 
			
		||||
 | 
			
		||||
        expect(emails.size)
 | 
			
		||||
          .to eq(1)
 | 
			
		||||
        expect(emails.first)
 | 
			
		||||
          .to have_attributes(
 | 
			
		||||
            to: [user.email],
 | 
			
		||||
            subject: I18n.t('user_mailer.terms_of_service_changed.subject')
 | 
			
		||||
          )
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user