Handle featured collections without items (#27581)
This commit is contained in:
		
							parent
							
								
									fa7e64df1d
								
							
						
					
					
						commit
						8f998cd96a
					
				| @ -37,6 +37,8 @@ class ActivityPub::FetchFeaturedCollectionService < BaseService | ||||
|   end | ||||
| 
 | ||||
|   def process_items(items) | ||||
|     return if items.nil? | ||||
| 
 | ||||
|     process_note_items(items) if @options[:note] | ||||
|     process_hashtag_items(items) if @options[:hashtag] | ||||
|   end | ||||
|  | ||||
| @ -42,12 +42,22 @@ RSpec.describe ActivityPub::FetchFeaturedCollectionService, type: :service do | ||||
|     } | ||||
|   end | ||||
| 
 | ||||
|   let(:featured_with_null) do | ||||
|     { | ||||
|       '@context': 'https://www.w3.org/ns/activitystreams', | ||||
|       id: 'https://example.com/account/collections/featured', | ||||
|       totalItems: 0, | ||||
|       type: 'OrderedCollection', | ||||
|     } | ||||
|   end | ||||
| 
 | ||||
|   let(:items) do | ||||
|     [ | ||||
|       'https://example.com/account/pinned/known', # known | ||||
|       status_json_pinned_unknown_inlined, # unknown inlined | ||||
|       'https://example.com/account/pinned/unknown-unreachable', # unknown unreachable | ||||
|       'https://example.com/account/pinned/unknown-reachable', # unknown reachable | ||||
|       'https://example.com/account/collections/featured', # featured with null | ||||
|     ] | ||||
|   end | ||||
| 
 | ||||
| @ -66,6 +76,7 @@ RSpec.describe ActivityPub::FetchFeaturedCollectionService, type: :service do | ||||
|       stub_request(:get, 'https://example.com/account/pinned/unknown-inlined').to_return(status: 200, body: Oj.dump(status_json_pinned_unknown_inlined)) | ||||
|       stub_request(:get, 'https://example.com/account/pinned/unknown-unreachable').to_return(status: 404) | ||||
|       stub_request(:get, 'https://example.com/account/pinned/unknown-reachable').to_return(status: 200, body: Oj.dump(status_json_pinned_unknown_unreachable)) | ||||
|       stub_request(:get, 'https://example.com/account/collections/featured').to_return(status: 200, body: Oj.dump(featured_with_null)) | ||||
| 
 | ||||
|       subject.call(actor, note: true, hashtag: false) | ||||
|     end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user