Browse Source

Validate uri presence for remote status (#4985)

pull/4/head
unarist 6 years ago
committed by Eugen Rochko
parent
commit
dd6f9a1b82
2 changed files with 9 additions and 1 deletions
  1. +1
    -1
      app/models/status.rb
  2. +8
    -0
      spec/models/status_spec.rb

+ 1
- 1
app/models/status.rb View File

@ -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?

+ 8
- 0
spec/models/status_spec.rb View File

@ -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…
Cancel
Save