diff options
author | Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> | 2017-09-26 01:33:11 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-25 18:33:11 +0200 |
commit | 98936bfcdf48cfd25968d1314ecf41be7d4596c3 (patch) | |
tree | ae057f3c668b8fafd913527f90f5769690e33c42 /spec/lib/activitypub/activity | |
parent | 5c82c2b75fb7fb0df9848596f8486f51ff4b3467 (diff) |
Add missing validations in ActivityPub::Activity::Create (#5096)
Diffstat (limited to 'spec/lib/activitypub/activity')
-rw-r--r-- | spec/lib/activitypub/activity/create_spec.rb | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb index 1a9520f04..cdd499150 100644 --- a/spec/lib/activitypub/activity/create_spec.rb +++ b/spec/lib/activitypub/activity/create_spec.rb @@ -171,6 +171,26 @@ RSpec.describe ActivityPub::Activity::Create do end end + context 'with mentions missing href' do + let(:object_json) do + { + id: 'bar', + type: 'Note', + content: 'Lorem ipsum', + tag: [ + { + type: 'Mention', + }, + ], + } + end + + it 'creates status' do + status = sender.statuses.first + expect(status).to_not be_nil + end + end + context 'with media attachments' do let(:object_json) do { @@ -195,6 +215,27 @@ RSpec.describe ActivityPub::Activity::Create do end end + context 'with media attachments missing url' do + let(:object_json) do + { + id: 'bar', + type: 'Note', + content: 'Lorem ipsum', + attachment: [ + { + type: 'Document', + mime_type: 'image/png', + }, + ], + } + end + + it 'creates status' do + status = sender.statuses.first + expect(status).to_not be_nil + end + end + context 'with hashtags' do let(:object_json) do { @@ -219,6 +260,27 @@ RSpec.describe ActivityPub::Activity::Create do end end + context 'with hashtags missing name' do + let(:object_json) do + { + id: 'bar', + type: 'Note', + content: 'Lorem ipsum', + tag: [ + { + type: 'Hashtag', + href: 'http://example.com/blah', + }, + ], + } + end + + it 'creates status' do + status = sender.statuses.first + expect(status).to_not be_nil + end + end + context 'with emojis' do let(:object_json) do { @@ -242,5 +304,47 @@ RSpec.describe ActivityPub::Activity::Create do expect(status.emojis.map(&:shortcode)).to include('tinking') end end + + context 'with emojis missing name' do + let(:object_json) do + { + id: 'bar', + type: 'Note', + content: 'Lorem ipsum :tinking:', + tag: [ + { + type: 'Emoji', + href: 'http://example.com/emoji.png', + }, + ], + } + end + + it 'creates status' do + status = sender.statuses.first + expect(status).to_not be_nil + end + end + + context 'with emojis missing href' do + let(:object_json) do + { + id: 'bar', + type: 'Note', + content: 'Lorem ipsum :tinking:', + tag: [ + { + type: 'Emoji', + name: 'tinking', + }, + ], + } + end + + it 'creates status' do + status = sender.statuses.first + expect(status).to_not be_nil + end + end end end |