summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-01-04 19:13:30 +0100
committerMatija Čupić <matteeyah@gmail.com>2018-01-04 22:17:01 +0100
commitf834e2907d5111f3e2bcd8d0dd126f9e0dd0be7a (patch)
tree337796d2646a3483ceab82d8400793fdf0a3f1f3
parent7b52a3482ec696320e4a101a80537e4e61118b5c (diff)
downloadgitlab-ce-f834e2907d5111f3e2bcd8d0dd126f9e0dd0be7a.tar.gz
Move cache reset to ci_cd_settings controller
-rw-r--r--app/controllers/projects/settings/ci_cd_controller.rb9
-rw-r--r--app/controllers/projects_controller.rb9
-rw-r--r--app/views/projects/pipelines/index.html.haml2
-rw-r--r--config/routes/project.rb5
-rw-r--r--spec/controllers/projects/settings/ci_cd_controller_spec.rb47
-rw-r--r--spec/controllers/projects_controller_spec.rb47
6 files changed, 60 insertions, 59 deletions
diff --git a/app/controllers/projects/settings/ci_cd_controller.rb b/app/controllers/projects/settings/ci_cd_controller.rb
index b029b31f9af..1dcebcb15a6 100644
--- a/app/controllers/projects/settings/ci_cd_controller.rb
+++ b/app/controllers/projects/settings/ci_cd_controller.rb
@@ -11,6 +11,15 @@ module Projects
define_auto_devops_variables
end
+ def reset_cache
+ if ResetProjectCacheService.new(@project, current_user).execute
+ flash[:notice] = _("Project cache successfully reset.")
+ else
+ flash[:error] = _("Unable to reset project cache.")
+ end
+ redirect_to project_pipelines_path(@project)
+ end
+
private
def define_runners_variables
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 928555c200b..6f609348402 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -175,15 +175,6 @@ class ProjectsController < Projects::ApplicationController
)
end
- def reset_cache
- if ResetProjectCacheService.new(@project, current_user).execute
- flash[:notice] = _("Project cache successfully reset.")
- else
- flash[:error] = _("Unable to reset project cache.")
- end
- redirect_to project_pipelines_path(@project)
- end
-
def export
@project.add_export_job(current_user: current_user)
diff --git a/app/views/projects/pipelines/index.html.haml b/app/views/projects/pipelines/index.html.haml
index d23cb626312..f8555f11aab 100644
--- a/app/views/projects/pipelines/index.html.haml
+++ b/app/views/projects/pipelines/index.html.haml
@@ -11,7 +11,7 @@
"can-create-pipeline" => can?(current_user, :create_pipeline, @project).to_s,
"has-ci" => @repository.gitlab_ci_yml,
"ci-lint-path" => ci_lint_path,
- "reset-cache-path" => reset_cache_project_path(@project) } }
+ "reset-cache-path" => reset_cache_project_settings_ci_cd_path(@project) } }
= page_specific_javascript_bundle_tag('common_vue')
= page_specific_javascript_bundle_tag('pipelines')
diff --git a/config/routes/project.rb b/config/routes/project.rb
index d79c6e141c8..905c906b194 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -407,7 +407,9 @@ constraints(ProjectUrlConstrainer.new) do
end
namespace :settings do
get :members, to: redirect("%{namespace_id}/%{project_id}/project_members")
- resource :ci_cd, only: [:show], controller: 'ci_cd'
+ resource :ci_cd, only: [:show], controller: 'ci_cd' do
+ get :reset_cache
+ end
resource :integrations, only: [:show]
resource :repository, only: [:show], controller: :repository
end
@@ -436,7 +438,6 @@ constraints(ProjectUrlConstrainer.new) do
get :download_export
get :activity
get :refs
- get :reset_cache
put :new_issuable_address
end
end
diff --git a/spec/controllers/projects/settings/ci_cd_controller_spec.rb b/spec/controllers/projects/settings/ci_cd_controller_spec.rb
index b8fe0f46f57..acd40f4a305 100644
--- a/spec/controllers/projects/settings/ci_cd_controller_spec.rb
+++ b/spec/controllers/projects/settings/ci_cd_controller_spec.rb
@@ -17,4 +17,51 @@ describe Projects::Settings::CiCdController do
expect(response).to render_template(:show)
end
end
+
+ describe '#reset_cache' do
+ before do
+ sign_in(user)
+
+ project.add_master(user)
+
+ allow(ResetProjectCacheService).to receive_message_chain(:new, :execute).and_return(true)
+ end
+
+ subject { get :reset_cache, namespace_id: project.namespace, project_id: project }
+
+ it 'calls reset project cache service' do
+ expect(ResetProjectCacheService).to receive_message_chain(:new, :execute)
+
+ subject
+ end
+
+ it 'redirects to project pipelines path' do
+ subject
+
+ expect(response).to have_gitlab_http_status(:redirect)
+ expect(response).to redirect_to(project_pipelines_path(project))
+ end
+
+ context 'when service returns successfully' do
+ it 'sets the flash notice variable' do
+ subject
+
+ expect(controller).to set_flash[:notice]
+ expect(controller).not_to set_flash[:error]
+ end
+ end
+
+ context 'when service does not return successfully' do
+ before do
+ allow(ResetProjectCacheService).to receive_message_chain(:new, :execute).and_return(false)
+ end
+
+ it 'sets the flash error variable' do
+ subject
+
+ expect(controller).not_to set_flash[:notice]
+ expect(controller).to set_flash[:error]
+ end
+ end
+ end
end
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb
index 2fc827742fe..e61187fb518 100644
--- a/spec/controllers/projects_controller_spec.rb
+++ b/spec/controllers/projects_controller_spec.rb
@@ -686,53 +686,6 @@ describe ProjectsController do
end
end
- describe '#reset_cache' do
- before do
- sign_in(user)
-
- project.add_master(user)
-
- allow(ResetProjectCacheService).to receive_message_chain(:new, :execute).and_return(true)
- end
-
- subject { get :reset_cache, namespace_id: project.namespace, id: project }
-
- it 'calls reset project cache service' do
- expect(ResetProjectCacheService).to receive_message_chain(:new, :execute)
-
- subject
- end
-
- it 'redirects to project pipelines path' do
- subject
-
- expect(response).to have_gitlab_http_status(:redirect)
- expect(response).to redirect_to(project_pipelines_path(project))
- end
-
- context 'when service returns successfully' do
- it 'sets the flash notice variable' do
- subject
-
- expect(controller).to set_flash[:notice]
- expect(controller).not_to set_flash[:error]
- end
- end
-
- context 'when service does not return successfully' do
- before do
- allow(ResetProjectCacheService).to receive_message_chain(:new, :execute).and_return(false)
- end
-
- it 'sets the flash error variable' do
- subject
-
- expect(controller).not_to set_flash[:notice]
- expect(controller).to set_flash[:error]
- end
- end
- end
-
describe '#export' do
before do
sign_in(user)