about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--app/models/report.rb2
-rw-r--r--spec/models/report_spec.rb14
2 files changed, 16 insertions, 0 deletions
diff --git a/app/models/report.rb b/app/models/report.rb
index 4d2552d30..479aa17bb 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -22,6 +22,8 @@ class Report < ApplicationRecord
   scope :unresolved, -> { where(action_taken: false) }
   scope :resolved,   -> { where(action_taken: true) }
 
+  validates :comment, length: { maximum: 1000 }
+
   def statuses
     Status.where(id: status_ids).includes(:account, :media_attachments, :mentions)
   end
diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb
index 6c2723845..d40ebf6dc 100644
--- a/spec/models/report_spec.rb
+++ b/spec/models/report_spec.rb
@@ -21,4 +21,18 @@ describe Report do
       expect(report.media_attachments).to eq [media_attachment]
     end
   end
+
+  describe 'validatiions' do
+    it 'has a valid fabricator' do
+      report = Fabricate(:report)
+      report.valid?
+      expect(report).to be_valid
+    end
+
+    it 'is invalid if comment is longer than 1000 characters' do
+      report = Fabricate.build(:report, comment: Faker::Lorem.characters(1001))
+      report.valid?
+      expect(report).to model_have_error_on_field(:comment)
+    end
+  end
 end