Do not filter statuses with unknown languages (#5045)
This commit is contained in:
		
				
					committed by
					
						 Eugen Rochko
						Eugen Rochko
					
				
			
			
				
	
			
			
			
						parent
						
							dcfc9b2204
						
					
				
				
					commit
					0de82dd316
				
			| @@ -146,7 +146,7 @@ class Status < ApplicationRecord | ||||
|  | ||||
|   class << self | ||||
|     def not_in_filtered_languages(account) | ||||
|       where.not(language: account.filtered_languages) | ||||
|       where(language: nil).or where.not(language: account.filtered_languages) | ||||
|     end | ||||
|  | ||||
|     def as_home_timeline(account) | ||||
|   | ||||
| @@ -173,6 +173,22 @@ RSpec.describe Status, type: :model do | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   describe '.not_in_filtered_languages' do | ||||
|     context 'for accounts with language filters' do | ||||
|       let(:user) { Fabricate(:user, filtered_languages: ['en']) } | ||||
|  | ||||
|       it 'does not include statuses in filtered languages' do | ||||
|         status = Fabricate(:status, language: 'en') | ||||
|         expect(Status.not_in_filtered_languages(user.account)).not_to include status | ||||
|       end | ||||
|  | ||||
|       it 'includes status with unknown language' do | ||||
|         status = Fabricate(:status, language: nil) | ||||
|         expect(Status.not_in_filtered_languages(user.account)).to include status | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   describe '.as_home_timeline' do | ||||
|     let(:account) { Fabricate(:account) } | ||||
|     let(:followed) { Fabricate(:account) } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user