summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/settings
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2018-01-06 13:51:06 +0000
committerKamil Trzciński <ayufan@ayufan.eu>2018-01-06 13:51:06 +0000
commita7a7f8b15968418bf52d91341588f1c573f412c3 (patch)
tree787f81c62ca03677798cd1fa9adf037b326f5c91 /spec/controllers/projects/settings
parent6d972724d426938a0bfd6744dc6464ec5f7e17f9 (diff)
parentff5124ed6ecb2f20841e535b3aaa3b0d230f920f (diff)
downloadgitlab-ce-a7a7f8b15968418bf52d91341588f1c573f412c3.tar.gz
Merge branch '41249-clearing-the-cache' into 'master'
Resolve "Clearing the cache" Closes #41249 See merge request gitlab-org/gitlab-ce!16067
Diffstat (limited to 'spec/controllers/projects/settings')
-rw-r--r--spec/controllers/projects/settings/ci_cd_controller_spec.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/controllers/projects/settings/ci_cd_controller_spec.rb b/spec/controllers/projects/settings/ci_cd_controller_spec.rb
index 77a47f0ad13..0202149f335 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 { post :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