diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-01-06 13:51:06 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-01-06 13:51:06 +0000 |
commit | a7a7f8b15968418bf52d91341588f1c573f412c3 (patch) | |
tree | 787f81c62ca03677798cd1fa9adf037b326f5c91 /spec/controllers/projects/settings | |
parent | 6d972724d426938a0bfd6744dc6464ec5f7e17f9 (diff) | |
parent | ff5124ed6ecb2f20841e535b3aaa3b0d230f920f (diff) | |
download | gitlab-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.rb | 47 |
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 |