mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-12 14:16:12 +01:00
a7aedebc31
Conflicts: - `Gemfile.lock`: Not a real conflict, upstream updated dependencies that were too close to glitch-soc-only ones in the file. - `app/controllers/oauth/authorized_applications_controller.rb`: Upstream changed the logic surrounding suspended accounts. Minor conflict due to glitch-soc's theming system. Ported upstream changes. - `app/controllers/settings/base_controller.rb`: Upstream refactored and changed the logic surrounding suspended accounts. Minor conflict due to glitch-soc's theming system. Ported upstream changes. - `app/controllers/settings/sessions_controller.rb`: Upstream refactored and changed the logic surrounding suspended accounts. Minor conflict due to glitch-soc's theming system. Ported upstream changes. - `app/models/user.rb`: Upstream refactored and changed the logic surrounding suspended accounts. Minor conflict due to glitch-soc not preventing moved accounts from logging in. Ported upstream changes while keeping the ability for moved accounts to log in. - `app/policies/status_policy.rb`: Upstream refactored and changed the logic surrounding suspended accounts. Minor conflict due to glitch-soc's local-only toots. Ported upstream changes. - `app/serializers/rest/account_serializer.rb`: Upstream refactored and changed the logic surrounding suspended accounts. Minor conflict due to glitch-soc's ability to hide followers count. Ported upstream changes. - `app/services/process_mentions_service.rb`: Upstream refactored and changed the logic surrounding suspended accounts. Minor conflict due to glitch-soc's local-only toots. Ported upstream changes. - `package.json`: Not a real conflict, upstream updated dependencies that were too close to glitch-soc-only ones in the file.
38 lines
1.5 KiB
Ruby
38 lines
1.5 KiB
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe FollowRequest, type: :model do
|
|
describe '#authorize!' do
|
|
let(:follow_request) { Fabricate(:follow_request, account: account, target_account: target_account) }
|
|
let(:account) { Fabricate(:account) }
|
|
let(:target_account) { Fabricate(:account) }
|
|
|
|
it 'calls Account#follow!, MergeWorker.perform_async, and #destroy!' do
|
|
expect(account).to receive(:follow!).with(target_account, reblogs: true, notify: false, uri: follow_request.uri)
|
|
expect(MergeWorker).to receive(:perform_async).with(target_account.id, account.id)
|
|
expect(follow_request).to receive(:destroy!)
|
|
follow_request.authorize!
|
|
end
|
|
|
|
it 'generates a Follow' do
|
|
follow_request = Fabricate.create(:follow_request)
|
|
follow_request.authorize!
|
|
target = follow_request.target_account
|
|
expect(follow_request.account.following?(target)).to be true
|
|
end
|
|
|
|
it 'correctly passes show_reblogs when true' do
|
|
follow_request = Fabricate.create(:follow_request, show_reblogs: true)
|
|
follow_request.authorize!
|
|
target = follow_request.target_account
|
|
expect(follow_request.account.muting_reblogs?(target)).to be false
|
|
end
|
|
|
|
it 'correctly passes show_reblogs when false' do
|
|
follow_request = Fabricate.create(:follow_request, show_reblogs: false)
|
|
follow_request.authorize!
|
|
target = follow_request.target_account
|
|
expect(follow_request.account.muting_reblogs?(target)).to be true
|
|
end
|
|
end
|
|
end
|