diff options
Diffstat (limited to 'spec/controllers/admin/runners_controller_spec.rb')
-rw-r--r-- | spec/controllers/admin/runners_controller_spec.rb | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/spec/controllers/admin/runners_controller_spec.rb b/spec/controllers/admin/runners_controller_spec.rb index a39a1f38a11..b1a2d90589a 100644 --- a/spec/controllers/admin/runners_controller_spec.rb +++ b/spec/controllers/admin/runners_controller_spec.rb @@ -35,26 +35,59 @@ RSpec.describe Admin::RunnersController, feature_category: :runner_fleet do end describe '#new' do - context 'when create_runner_workflow is enabled' do + it 'renders a :new template' do + get :new + + expect(response).to have_gitlab_http_status(:ok) + expect(response).to render_template(:new) + end + + context 'when create_runner_workflow_for_admin is disabled' do before do - stub_feature_flags(create_runner_workflow: true) + stub_feature_flags(create_runner_workflow_for_admin: false) end - it 'renders a :new template' do + it 'returns :not_found' do get :new + expect(response).to have_gitlab_http_status(:not_found) + end + end + end + + describe '#register' do + subject(:register) { get :register, params: { id: new_runner.id } } + + context 'when runner can be registered after creation' do + let_it_be(:new_runner) { create(:ci_runner, registration_type: :authenticated_user) } + + it 'renders a :register template' do + register + expect(response).to have_gitlab_http_status(:ok) - expect(response).to render_template(:new) + expect(response).to render_template(:register) end end - context 'when create_runner_workflow is disabled' do + context 'when runner cannot be registered after creation' do + let_it_be(:new_runner) { runner } + + it 'returns :not_found' do + register + + expect(response).to have_gitlab_http_status(:not_found) + end + end + + context 'when create_runner_workflow_for_admin is disabled' do + let_it_be(:new_runner) { create(:ci_runner, registration_type: :authenticated_user) } + before do - stub_feature_flags(create_runner_workflow: false) + stub_feature_flags(create_runner_workflow_for_admin: false) end it 'returns :not_found' do - get :new + register expect(response).to have_gitlab_http_status(:not_found) end |