Hotfix convert string from symbol (#2856)
* Convert key to string from symbol * Prefer :public_send instead of
This commit is contained in:
		
							parent
							
								
									05b72368ed
								
							
						
					
					
						commit
						74036a2c9d
					
				
					 2 changed files with 40 additions and 2 deletions
				
			
		|  | @ -54,10 +54,10 @@ class NotifyService < BaseService | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def send_email |   def send_email | ||||||
|     NotificationMailer.send(@notification.type, @recipient, @notification).deliver_later |     NotificationMailer.public_send(@notification.type, @recipient, @notification).deliver_later | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def email_enabled? |   def email_enabled? | ||||||
|     @recipient.user.settings.notification_emails[@notification.type] |     @recipient.user.settings.notification_emails[@notification.type.to_s] | ||||||
|   end |   end | ||||||
| end | end | ||||||
|  |  | ||||||
							
								
								
									
										38
									
								
								spec/services/notify_service_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								spec/services/notify_service_spec.rb
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,38 @@ | ||||||
|  | require 'rails_helper' | ||||||
|  | 
 | ||||||
|  | RSpec.describe NotifyService do | ||||||
|  |   subject do | ||||||
|  |     -> { described_class.new.call(recipient, activity) } | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   let(:user) { Fabricate(:user) } | ||||||
|  |   let(:recipient) { user.account } | ||||||
|  |   let(:activity) { Fabricate(:follow, target_account: recipient) } | ||||||
|  | 
 | ||||||
|  |   it { is_expected.to change(Notification, :count).by(1) } | ||||||
|  | 
 | ||||||
|  |   describe 'email' do | ||||||
|  |     before do | ||||||
|  |       ActionMailer::Base.deliveries.clear | ||||||
|  | 
 | ||||||
|  |       notification_emails = user.settings.notification_emails | ||||||
|  |       user.settings.notification_emails = notification_emails.merge('follow' => enabled) | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     context 'when email notification is enabled' do | ||||||
|  |       let(:enabled) { true } | ||||||
|  | 
 | ||||||
|  |       it 'sends email' do | ||||||
|  |         is_expected.to change(ActionMailer::Base.deliveries, :count).by(1) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     context 'when email notification is disabled' do | ||||||
|  |       let(:enabled) { false } | ||||||
|  | 
 | ||||||
|  |       it "doesn't send email" do | ||||||
|  |         is_expected.to_not change(ActionMailer::Base.deliveries, :count).from(0) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
		Loading…
	
		Reference in a new issue