Validate uri presence for remote status (#4985)
This commit is contained in:
		
							parent
							
								
									3f07f1b2b1
								
							
						
					
					
						commit
						dd6f9a1b82
					
				| @ -55,7 +55,7 @@ class Status < ApplicationRecord | ||||
|   has_one :notification, as: :activity, dependent: :destroy | ||||
|   has_one :stream_entry, as: :activity, inverse_of: :status | ||||
| 
 | ||||
|   validates :uri, uniqueness: true, unless: :local? | ||||
|   validates :uri, uniqueness: true, presence: true, unless: :local? | ||||
|   validates :text, presence: true, unless: :reblog? | ||||
|   validates_with StatusLengthValidator | ||||
|   validates :reblog, uniqueness: { scope: :account }, if: :reblog? | ||||
|  | ||||
| @ -516,6 +516,14 @@ RSpec.describe Status, type: :model do | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe 'validation' do | ||||
|     it 'disallow empty uri for remote status' do | ||||
|       alice.update(domain: 'example.com') | ||||
|       status = Fabricate.build(:status, uri: '', account: alice) | ||||
|       expect(status).to model_have_error_on_field(:uri) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe 'after_create' do | ||||
|     it 'saves ActivityPub uri as uri for local status' do | ||||
|       status = Status.create(account: alice, text: 'foo') | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user