32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| require 'rails_helper'
 | |
| 
 | |
| RSpec.describe NotificationPolicy do
 | |
|   describe '#summarize!' do
 | |
|     subject { Fabricate(:notification_policy) }
 | |
| 
 | |
|     let(:sender) { Fabricate(:account) }
 | |
|     let(:suspended_sender) { Fabricate(:account) }
 | |
| 
 | |
|     before do
 | |
|       Fabricate.times(2, :notification, account: subject.account, activity: Fabricate(:status, account: sender), filtered: true, type: :mention)
 | |
|       Fabricate(:notification_request, account: subject.account, from_account: sender)
 | |
| 
 | |
|       Fabricate(:notification, account: subject.account, activity: Fabricate(:status, account: suspended_sender), filtered: true, type: :mention)
 | |
|       Fabricate(:notification_request, account: subject.account, from_account: suspended_sender)
 | |
| 
 | |
|       suspended_sender.suspend!
 | |
| 
 | |
|       subject.summarize!
 | |
|     end
 | |
| 
 | |
|     it 'sets pending_requests_count and pending_notifications_count' do
 | |
|       expect(subject).to have_attributes(
 | |
|         pending_requests_count: 1,
 | |
|         pending_notifications_count: 2
 | |
|       )
 | |
|     end
 | |
|   end
 | |
| end
 |