diff options
author | Thibaut Girka <thib@sitedethib.com> | 2019-01-27 13:57:25 +0100 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2019-01-27 13:57:25 +0100 |
commit | 7251bc385389f3cdfe3f141d6df59bf499be3636 (patch) | |
tree | 6713004ab36f14228903d14cd1d4967228479e64 | |
parent | f938800ef4fcd7f63310e3f1d021c809f60ea448 (diff) | |
parent | e2a5be6e9a070792fa72711c812f75bc61990052 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
-rw-r--r-- | app/services/post_status_service.rb | 2 | ||||
-rw-r--r-- | spec/services/post_status_service_spec.rb | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/app/services/post_status_service.rb b/app/services/post_status_service.rb index e4b61ee35..5d431c42a 100644 --- a/app/services/post_status_service.rb +++ b/app/services/post_status_service.rb @@ -98,7 +98,7 @@ class PostStatusService < BaseService raise Mastodon::ValidationError, I18n.t('media_attachments.validations.too_many') if @options[:media_ids].size > 4 - @media = MediaAttachment.where(status_id: nil).where(id: @options[:media_ids].take(4).map(&:to_i)) + @media = @account.media_attachments.where(status_id: nil).where(id: @options[:media_ids].take(4).map(&:to_i)) raise Mastodon::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && @media.find(&:video?) end diff --git a/spec/services/post_status_service_spec.rb b/spec/services/post_status_service_spec.rb index 680cebbcf..facbe977f 100644 --- a/spec/services/post_status_service_spec.rb +++ b/spec/services/post_status_service_spec.rb @@ -167,7 +167,7 @@ RSpec.describe PostStatusService, type: :service do it 'attaches the given media to the created status' do account = Fabricate(:account) - media = Fabricate(:media_attachment) + media = Fabricate(:media_attachment, account: account) status = subject.call( account, @@ -178,6 +178,19 @@ RSpec.describe PostStatusService, type: :service do expect(media.reload.status).to eq status end + it 'does not attach media from another account to the created status' do + account = Fabricate(:account) + media = Fabricate(:media_attachment, account: Fabricate(:account)) + + status = subject.call( + account, + text: "test status update", + media_ids: [media.id], + ) + + expect(media.reload.status).to eq nil + end + it 'does not allow attaching more than 4 files' do account = Fabricate(:account) |