0
0
Fork 0

Clean up api/subscriptions controller (#3448)

This commit is contained in:
Matt Jankowski 2017-05-30 20:15:09 -04:00 committed by Eugen Rochko
parent 93de41b39b
commit 83435c49ea
2 changed files with 45 additions and 13 deletions

View file

@ -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}" }
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)
end
it 'echoes back the challenge' do
expect(response.body).to match '456'
end
end
it 'returns http success' do
expect(response).to have_http_status(:success)
end
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 'echoes back the challenge' do
expect(response.body).to match '456'
it 'returns http success' do
expect(response).to have_http_status(:missing)
end
end
end