From 83435c49ea4f31d80d81658d8faa69ed5350e26f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Tue, 30 May 2017 20:15:09 -0400 Subject: Clean up api/subscriptions controller (#3448) --- .../api/subscriptions_controller_spec.rb | 27 ++++++++++++++++------ 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'spec') diff --git a/spec/controllers/api/subscriptions_controller_spec.rb b/spec/controllers/api/subscriptions_controller_spec.rb index 97e36420d..76f9740ca 100644 --- a/spec/controllers/api/subscriptions_controller_spec.rb +++ b/spec/controllers/api/subscriptions_controller_spec.rb @@ -6,16 +6,29 @@ RSpec.describe Api::SubscriptionsController, type: :controller do let(:account) { Fabricate(:account, username: 'gargron', domain: 'quitter.no', remote_url: 'topic_url', secret: 'abc') } describe 'GET #show' do - before do - get :show, params: { :id => account.id, 'hub.topic' => 'topic_url', 'hub.challenge' => '456', 'hub.lease_seconds' => "#{86400 * 30}" } - end + context 'with valid subscription' do + before do + get :show, params: { :id => account.id, 'hub.topic' => 'topic_url', 'hub.challenge' => '456', 'hub.lease_seconds' => "#{86400 * 30}" } + end - it 'returns http success' do - expect(response).to have_http_status(:success) + it 'returns http success' do + expect(response).to have_http_status(:success) + end + + it 'echoes back the challenge' do + expect(response.body).to match '456' + end end - it 'echoes back the challenge' do - expect(response.body).to match '456' + context 'with invalid subscription' do + before do + expect_any_instance_of(Account).to receive_message_chain(:subscription, :valid?).and_return(false) + get :show, params: { :id => account.id } + end + + it 'returns http success' do + expect(response).to have_http_status(:missing) + end end end -- cgit