From f676f388153fc9b5da0a76b2d5c2af9d8ffe832c Mon Sep 17 00:00:00 2001 From: Alessio Caiazza Date: Mon, 6 Nov 2017 18:21:10 +0100 Subject: Add more tests to Projects::Clusters::ApplicationsController --- .../projects/clusters/applications_controller.rb | 14 ++++++-------- .../projects/clusters/applications_controller_spec.rb | 13 +++++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/app/controllers/projects/clusters/applications_controller.rb b/app/controllers/projects/clusters/applications_controller.rb index 4b9d54a8537..90c7fa62216 100644 --- a/app/controllers/projects/clusters/applications_controller.rb +++ b/app/controllers/projects/clusters/applications_controller.rb @@ -5,14 +5,12 @@ class Projects::Clusters::ApplicationsController < Projects::ApplicationControll before_action :authorize_create_cluster!, only: [:create] def create - scheduled = Clusters::Applications::ScheduleInstallationService.new(project, current_user, - application_class: @application_class, - cluster: @cluster).execute - if scheduled - head :no_content - else - head :bad_request - end + Clusters::Applications::ScheduleInstallationService.new(project, current_user, + application_class: @application_class, + cluster: @cluster).execute + head :no_content + rescue StandardError + head :bad_request end private diff --git a/spec/controllers/projects/clusters/applications_controller_spec.rb b/spec/controllers/projects/clusters/applications_controller_spec.rb index b8464b713c4..3213a797756 100644 --- a/spec/controllers/projects/clusters/applications_controller_spec.rb +++ b/spec/controllers/projects/clusters/applications_controller_spec.rb @@ -49,6 +49,19 @@ describe Projects::Clusters::ApplicationsController do expect(response).to have_http_status(:not_found) end end + + context 'when application is already installing' do + before do + other = current_application.new(cluster: cluster) + other.make_installing! + end + + it 'returns 400' do + go + + expect(response).to have_http_status(:bad_request) + end + end end describe 'security' do -- cgit v1.2.1