mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-11-18 23:21:30 +08:00
45 lines
1.3 KiB
Ruby
45 lines
1.3 KiB
Ruby
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 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 have_http_status(200)
|
|
end
|
|
|
|
it 'Response with the correct plain text' do
|
|
expect(response.body).to match('RUNNING')
|
|
end
|
|
end
|
|
end
|