diff options
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/well_known/webfinger_controller_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/controllers/well_known/webfinger_controller_spec.rb b/spec/controllers/well_known/webfinger_controller_spec.rb index 6e493b037..4d588bf4e 100644 --- a/spec/controllers/well_known/webfinger_controller_spec.rb +++ b/spec/controllers/well_known/webfinger_controller_spec.rb @@ -6,6 +6,12 @@ describe WellKnown::WebfingerController, type: :controller do describe 'GET #show' do let(:alice) { Fabricate(:account, username: 'alice') } + around(:each) do |example| + before = Rails.configuration.x.alternate_domains + example.run + Rails.configuration.x.alternate_domains = before + end + it 'returns http success when account can be found' do get :show, params: { resource: alice.to_webfinger_s }, format: :json @@ -17,5 +23,23 @@ describe WellKnown::WebfingerController, type: :controller do expect(response).to have_http_status(:not_found) end + + it 'returns http success when account can be found with alternate domains' do + Rails.configuration.x.alternate_domains = ["foo.org"] + username, domain = alice.to_webfinger_s.split("@") + + get :show, params: { resource: "#{username}@foo.org" }, format: :json + + expect(response).to have_http_status(:success) + end + + it 'returns http not found when account can not be found with alternate domains' do + Rails.configuration.x.alternate_domains = ["foo.org"] + username, domain = alice.to_webfinger_s.split("@") + + get :show, params: { resource: "#{username}@bar.org" }, format: :json + + expect(response).to have_http_status(:not_found) + end end end |