diff options
author | ThibG <thib@sitedethib.com> | 2020-03-25 22:40:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-25 22:40:58 +0100 |
commit | f08f880f584271a922a0d8d3759e634d67947d12 (patch) | |
tree | 71b651db208da3c374ad6aab5520524dd890d722 /spec | |
parent | 858d0dd168b737a77506d6aa00f6ed582d0e33c6 (diff) |
Fix media not being marked sensitive when client sets a CW but no text (#13277)
Mastodon enforces the “sensitive” flag on media attachments whenever a toot is posted with a Content Warning. However, it does so *after* potentially converting the Content Warning to toot text (when there is no toot text), which leads to inconsistent and surprising behavior for API clients. This commit fixes this inconsistency.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/services/post_status_service_spec.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/spec/services/post_status_service_spec.rb b/spec/services/post_status_service_spec.rb index 025a3da40..147a59fc3 100644 --- a/spec/services/post_status_service_spec.rb +++ b/spec/services/post_status_service_spec.rb @@ -79,6 +79,13 @@ RSpec.describe PostStatusService, type: :service do expect(status.spoiler_text).to eq spoiler_text end + it 'creates a sensitive status when there is a CW but no text' do + status = subject.call(Fabricate(:account), text: '', spoiler_text: 'foo') + + expect(status).to be_persisted + expect(status).to be_sensitive + end + it 'creates a status with empty default spoiler text' do status = create_status_with_options(spoiler_text: nil) |