Skip to content
Snippets Groups Projects
Commit 54b42901 authored by ysksn's avatar ysksn Committed by Eugen Rochko
Browse files

Add and Remove tests for FollowRequest (#5622)

* Add a test for FollowRequest#authorize!

* Remove tests

There is no need to test
ActiveModel::Validations::ClassMethods#validates.

* Make an alias of destroy! as reject!

Instead of defining the method,
make an alias of destroy! as reject! because of reducing test.
parent d200e041
No related branches found
No related tags found
No related merge requests found
......@@ -27,7 +27,5 @@ class FollowRequest < ApplicationRecord
destroy!
end
def reject!
destroy!
end
alias reject! destroy!
end
require 'rails_helper'
RSpec.describe FollowRequest, type: :model do
describe '#authorize!'
describe '#reject!'
describe '#authorize!' do
let(:follow_request) { Fabricate(:follow_request, account: account, target_account: target_account) }
let(:account) { Fabricate(:account) }
let(:target_account) { Fabricate(:account) }
describe 'validations' do
it 'has a valid fabricator' do
follow_request = Fabricate.build(:follow_request)
expect(follow_request).to be_valid
end
it 'is invalid without an account' do
follow_request = Fabricate.build(:follow_request, account: nil)
follow_request.valid?
expect(follow_request).to model_have_error_on_field(:account)
end
it 'is invalid without a target account' do
follow_request = Fabricate.build(:follow_request, target_account: nil)
follow_request.valid?
expect(follow_request).to model_have_error_on_field(:target_account)
it 'calls Account#follow!, MergeWorker.perform_async, and #destroy!' do
expect(account).to receive(:follow!).with(target_account)
expect(MergeWorker).to receive(:perform_async).with(target_account.id, account.id)
expect(follow_request).to receive(:destroy!)
follow_request.authorize!
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment