Browse Source

Merge pull request #899 from ThibG/glitch-soc/merge-upstream

Merge upstream changes
closed-social-glitch-2
ThibG 5 years ago
committed by GitHub
parent
commit
f1adce7f6d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 2 deletions
  1. +1
    -1
      app/services/post_status_service.rb
  2. +14
    -1
      spec/services/post_status_service_spec.rb

+ 1
- 1
app/services/post_status_service.rb View File

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

+ 14
- 1
spec/services/post_status_service_spec.rb View File

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

Loading…
Cancel
Save