require 'rails_helper' describe Api::ApiController, type: :controller do describe 'GET #status' do before do get :status end it 'Returns HTTP success' do expect(response).to be_success expect(response).to have_http_status(200) end it 'Response with correct JSON status structure' do hash_body = nil expect { hash_body = json }.not_to raise_exception expect(hash_body).to include(message: I18n.t('api.core.status_ok')) expect(hash_body).to include('versions') Extends::API_VERSIONS.each do |ver| expect(hash_body['versions']).to include( 'version' => ver, 'baseUrl' => "/api/#{ver}/" ) end end end describe 'GET #health' do before do stub_request(:get, Rails.application.secrets.system_notifications_uri + '/api/system_notifications') .with(query: hash_including('channels_slug': Rails.application.secrets.system_notifications_channel), headers: { 'Accept': 'application/vnd.system-notifications.1+json' }) .to_return(status: 200, body: '', headers: {}) get :health end it 'Returns HTTP success' do expect(response).to be_success expect(response).to have_http_status(200) end it 'Response with the correct plain text' do expect(response.body).to match('RUNNING') end end end