diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-20 12:26:25 +0000 |
commit | a09983ae35713f5a2bbb100981116d31ce99826e (patch) | |
tree | 2ee2af7bd104d57086db360a7e6d8c9d5d43667a /spec/controllers/projects_controller_spec.rb | |
parent | 18c5ab32b738c0b6ecb4d0df3994000482f34bd8 (diff) | |
download | gitlab-ce-a09983ae35713f5a2bbb100981116d31ce99826e.tar.gz |
Add latest changes from gitlab-org/gitlab@13-2-stable-ee
Diffstat (limited to 'spec/controllers/projects_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects_controller_spec.rb | 91 |
1 files changed, 48 insertions, 43 deletions
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index 8aae9ef85be..e59493827ba 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -6,7 +6,7 @@ RSpec.describe ProjectsController do include ExternalAuthorizationServiceHelpers include ProjectForksHelper - let(:project) { create(:project) } + let(:project) { create(:project, service_desk_enabled: false) } let(:public_project) { create(:project, :public) } let(:user) { create(:user) } let(:jpg) { fixture_file_upload('spec/fixtures/rails_sample.jpg', 'image/jpg') } @@ -86,11 +86,13 @@ RSpec.describe ProjectsController do end describe "GET #activity as JSON" do + include DesignManagementTestHelpers render_views let(:project) { create(:project, :public, issues_access_level: ProjectFeature::PRIVATE) } before do + enable_design_management create(:event, :created, project: project, target: create(:issue)) sign_in(user) @@ -103,11 +105,32 @@ RSpec.describe ProjectsController do project.add_developer(user) end - it 'returns count' do + def get_activity(project) get :activity, params: { namespace_id: project.namespace, id: project, format: :json } + end + + it 'returns count' do + get_activity(project) expect(json_response['count']).to eq(1) end + + context 'design events are visible' do + include DesignManagementTestHelpers + let(:other_project) { create(:project, namespace: user.namespace) } + + before do + enable_design_management + create(:design_event, project: project) + request.cookies[:event_filter] = EventFilter::DESIGNS + end + + it 'returns correct count' do + get_activity(project) + + expect(json_response['count']).to eq(1) + end + end end context 'when user has no permission to see the event' do @@ -350,45 +373,6 @@ RSpec.describe ProjectsController do .not_to exceed_query_limit(2).for_query(expected_query) end end - - context 'lfs_blob_ids instance variable' do - let(:project) { create(:project, :public, :repository) } - - before do - sign_in(user) - end - - context 'with vue tree view enabled' do - before do - get :show, params: { namespace_id: project.namespace, id: project } - end - - it 'is not set' do - expect(assigns[:lfs_blob_ids]).to be_nil - end - end - - context 'with vue tree view disabled' do - before do - stub_feature_flags(vue_file_list: false) - - get :show, params: { namespace_id: project.namespace, id: project } - end - - it 'is set' do - expect(assigns[:lfs_blob_ids]).not_to be_nil - end - end - end - - context 'namespace storage limit' do - let_it_be(:project) { create(:project, :public, :repository ) } - let(:namespace) { project.namespace } - - subject { get :show, params: { namespace_id: namespace, id: project } } - - it_behaves_like 'namespace storage limit alert' - end end describe 'GET edit' do @@ -1192,7 +1176,7 @@ RSpec.describe ProjectsController do before do allow(Gitlab::ApplicationRateLimiter) .to receive(:increment) - .and_return(Gitlab::ApplicationRateLimiter.rate_limits["project_#{action}".to_sym][:threshold] + 1) + .and_return(Gitlab::ApplicationRateLimiter.rate_limits["project_#{action}".to_sym][:threshold].call + 1) end it 'prevents requesting project export' do @@ -1259,7 +1243,7 @@ RSpec.describe ProjectsController do before do allow(Gitlab::ApplicationRateLimiter) .to receive(:increment) - .and_return(Gitlab::ApplicationRateLimiter.rate_limits[:project_download_export][:threshold] + 1) + .and_return(Gitlab::ApplicationRateLimiter.rate_limits[:project_download_export][:threshold].call + 1) end it 'prevents requesting project export' do @@ -1400,6 +1384,27 @@ RSpec.describe ProjectsController do end end + it 'updates Service Desk attributes' do + project.add_maintainer(user) + sign_in(user) + allow(Gitlab::IncomingEmail).to receive(:enabled?) { true } + allow(Gitlab::IncomingEmail).to receive(:supports_wildcard?) { true } + params = { + service_desk_enabled: true + } + + put :update, + params: { + namespace_id: project.namespace, + id: project, + project: params + } + project.reload + + expect(response).to have_gitlab_http_status(:found) + expect(project.service_desk_enabled).to eq(true) + end + def project_moved_message(redirect_route, project) "Project '#{redirect_route.path}' was moved to '#{project.full_path}'. Please update any links and bookmarks that may still have the old path." end |