gitlab-org--gitlab-foss/spec/controllers/projects/settings/repository_controller_spec.rb

52 lines
1.3 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe Projects::Settings::RepositoryController do
let(:project) { create(:project_empty_repo, :public) }
let(:user) { create(:user) }
before do
project.add_maintainer(user)
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
expect(response).to have_gitlab_http_status(200)
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
end