|
|
|
@ -1,7 +1,7 @@ |
|
|
|
|
require 'rails_helper' |
|
|
|
|
|
|
|
|
|
RSpec.describe ActivityPub::Activity::Create do |
|
|
|
|
let(:sender) { Fabricate(:account, followers_url: 'http://example.com/followers') } |
|
|
|
|
let(:sender) { Fabricate(:account, followers_url: 'http://example.com/followers', domain: 'example.com', uri: 'https://example.com/actor') } |
|
|
|
|
|
|
|
|
|
let(:json) do |
|
|
|
|
{ |
|
|
|
@ -407,6 +407,46 @@ RSpec.describe ActivityPub::Activity::Create do |
|
|
|
|
expect(status).to_not be_nil |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context 'with poll' do |
|
|
|
|
let(:object_json) do |
|
|
|
|
{ |
|
|
|
|
id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join, |
|
|
|
|
type: 'Question', |
|
|
|
|
content: 'Which color was the submarine?', |
|
|
|
|
oneOf: [ |
|
|
|
|
{ |
|
|
|
|
name: 'Yellow', |
|
|
|
|
replies: { |
|
|
|
|
type: 'Collection', |
|
|
|
|
totalItems: 10, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'Blue', |
|
|
|
|
replies: { |
|
|
|
|
type: 'Collection', |
|
|
|
|
totalItems: 3, |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
} |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'creates status' do |
|
|
|
|
status = sender.statuses.first |
|
|
|
|
expect(status).to_not be_nil |
|
|
|
|
expect(status.poll).to_not be_nil |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it 'creates a poll' do |
|
|
|
|
poll = sender.polls.first |
|
|
|
|
expect(poll).to_not be_nil |
|
|
|
|
expect(poll.status).to_not be_nil |
|
|
|
|
expect(poll.options).to eq %w(Yellow Blue) |
|
|
|
|
expect(poll.cached_tallies).to eq [10, 3] |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context 'when sender is followed by local users' do |
|
|
|
|