2017-02-21 16:37:00 -05:00
|
|
|
require 'spec_helper'
|
|
|
|
|
2017-02-28 12:49:32 -05:00
|
|
|
describe Projects::Settings::RepositoryController do
|
2017-03-01 11:15:46 -05:00
|
|
|
let(:project) { create(:project_empty_repo, :public) }
|
2017-02-21 16:37:00 -05:00
|
|
|
let(:user) { create(:user) }
|
|
|
|
|
|
|
|
before do
|
2018-07-11 10:36:08 -04:00
|
|
|
project.add_maintainer(user)
|
2017-02-21 16:37:00 -05:00
|
|
|
sign_in(user)
|
|
|
|
end
|
|
|
|
|
|
|
|
describe 'GET show' do
|
|
|
|
it 'renders show with 200 status code' do
|
|
|
|
get :show, namespace_id: project.namespace, project_id: project
|
|
|
|
|
2017-10-19 14:28:19 -04:00
|
|
|
expect(response).to have_gitlab_http_status(200)
|
2017-02-21 16:37:00 -05:00
|
|
|
expect(response).to render_template(:show)
|
|
|
|
end
|
|
|
|
end
|
2018-11-19 10:03:58 -05:00
|
|
|
|
|
|
|
describe 'PUT cleanup' do
|
|
|
|
def do_put!
|
|
|
|
object_map = fixture_file_upload('spec/fixtures/bfg_object_map.txt')
|
|
|
|
|
|
|
|
Sidekiq::Testing.fake! do
|
|
|
|
put :cleanup, namespace_id: project.namespace, project_id: project, project: { object_map: object_map }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'feature enabled' do
|
|
|
|
it 'enqueues a RepositoryCleanupWorker' do
|
|
|
|
stub_feature_flags(project_cleanup: true)
|
|
|
|
|
|
|
|
do_put!
|
|
|
|
|
|
|
|
expect(response).to redirect_to project_settings_repository_path(project)
|
|
|
|
expect(RepositoryCleanupWorker.jobs.count).to eq(1)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'feature disabled' do
|
|
|
|
it 'shows a 404 error' do
|
|
|
|
stub_feature_flags(project_cleanup: false)
|
|
|
|
|
|
|
|
do_put!
|
|
|
|
|
|
|
|
expect(response).to have_gitlab_http_status(404)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2017-02-21 16:37:00 -05:00
|
|
|
end
|