about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatt Jankowski <mjankowski@thoughtbot.com>2017-04-30 12:15:49 -0400
committerEugen Rochko <eugen@zeonfederated.com>2017-04-30 18:15:49 +0200
commit5259319cf5d01a23a0e9517b9dc91c0a1f7e2ae9 (patch)
treea03e530faceaeece832223db5104e1f32592133c
parentb83bc0ae6481bca70b75f4fb7128ac908612c658 (diff)
Reports spec for media attachments, clean up method (#2660)
* Add coverage for Report#media_attachments

* Direct query on media attachment
-rw-r--r--app/models/report.rb6
-rw-r--r--spec/models/report_spec.rb11
2 files changed, 12 insertions, 5 deletions
diff --git a/app/models/report.rb b/app/models/report.rb
index c7d887745..d813d0d0d 100644
--- a/app/models/report.rb
+++ b/app/models/report.rb
@@ -13,10 +13,6 @@ class Report < ApplicationRecord
   end
 
   def media_attachments
-    media_attachments = []
-    statuses.each do |s|
-      media_attachments.concat s.media_attachments
-    end
-    media_attachments
+    MediaAttachment.where(status_id: status_ids)
   end
 end
diff --git a/spec/models/report_spec.rb b/spec/models/report_spec.rb
index 80b8cc55b..6c2723845 100644
--- a/spec/models/report_spec.rb
+++ b/spec/models/report_spec.rb
@@ -10,4 +10,15 @@ describe Report do
       expect(report.statuses).to eq [status]
     end
   end
+
+  describe 'media_attachments' do
+    it 'returns media attachments from statuses' do
+      status = Fabricate(:status)
+      media_attachment = Fabricate(:media_attachment, status: status)
+      _other_media_attachment = Fabricate(:media_attachment)
+      report = Fabricate(:report, status_ids: [status.id])
+
+      expect(report.media_attachments).to eq [media_attachment]
+    end
+  end
 end