docker_manager/spec/requests/admin_controller_spec.rb

48 lines
1.0 KiB
Ruby

require 'rails_helper'
RSpec.describe DockerManager::AdminController do
describe 'anonymous user' do
it 'should redirect to login page' do
get '/admin/upgrade'
expect(response.status).to eq(302)
expect(response).to redirect_to('/login')
end
end
describe 'when user is not an admin' do
it 'should redirect to login page' do
sign_in(Fabricate(:user))
get '/admin/upgrade'
expect(response.status).to eq(404)
expect(response.body).to eq(I18n.t('invalid_access'))
end
end
describe 'when user is an admin' do
it 'should return the right response' do
sign_in(Fabricate(:admin))
get '/admin/upgrade'
expect(response.status).to eq(200)
end
end
describe '#repos' do
it 'should return the right response' do
sign_in(Fabricate(:admin))
get '/admin/docker/repos'
expect(response.status).to eq(200)
body = JSON.parse(response.body)
expect(body["repos"].first["official"]).to eq(false)
end
end
end