diff --git a/spec/requests/activitypub/likes_spec.rb b/spec/requests/activitypub/likes_spec.rb new file mode 100644 index 000000000..d780ad516 --- /dev/null +++ b/spec/requests/activitypub/likes_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'ActivityPub Likes' do + let(:account) { Fabricate(:account) } + let(:status) { Fabricate :status, account: account } + + before { Fabricate :favourite, status: status } + + describe 'GET /accounts/:account_username/statuses/:status_id/likes' do + it 'returns http success and activity json types and correct items count' do + get account_status_likes_path(account, status) + + expect(response) + .to have_http_status(200) + expect(response.media_type) + .to eq 'application/activity+json' + + expect(response.parsed_body) + .to include(type: 'Collection') + .and include(totalItems: 1) + end + end +end diff --git a/spec/requests/activitypub/shares_spec.rb b/spec/requests/activitypub/shares_spec.rb new file mode 100644 index 000000000..956bc7d20 --- /dev/null +++ b/spec/requests/activitypub/shares_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'ActivityPub Shares' do + let(:account) { Fabricate(:account) } + let(:status) { Fabricate :status, account: account } + + before { Fabricate :status, reblog: status } + + describe 'GET /accounts/:account_username/statuses/:status_id/shares' do + it 'returns http success and activity json types and correct items count' do + get account_status_shares_path(account, status) + + expect(response) + .to have_http_status(200) + expect(response.media_type) + .to eq 'application/activity+json' + + expect(response.parsed_body) + .to include(type: 'Collection') + .and include(totalItems: 1) + end + end +end