diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 13:18:24 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 13:18:24 +0000 |
commit | 0653e08efd039a5905f3fa4f6e9cef9f5d2f799c (patch) | |
tree | 4dcc884cf6d81db44adae4aa99f8ec1233a41f55 /spec/requests/projects | |
parent | 744144d28e3e7fddc117924fef88de5d9674fe4c (diff) | |
download | gitlab-ce-0653e08efd039a5905f3fa4f6e9cef9f5d2f799c.tar.gz |
Add latest changes from gitlab-org/gitlab@14-3-stable-eev14.3.0-rc42
Diffstat (limited to 'spec/requests/projects')
-rw-r--r-- | spec/requests/projects/merge_requests_discussions_spec.rb | 11 | ||||
-rw-r--r-- | spec/requests/projects/usage_quotas_spec.rb | 63 |
2 files changed, 74 insertions, 0 deletions
diff --git a/spec/requests/projects/merge_requests_discussions_spec.rb b/spec/requests/projects/merge_requests_discussions_spec.rb index c68745b9271..8057a091bba 100644 --- a/spec/requests/projects/merge_requests_discussions_spec.rb +++ b/spec/requests/projects/merge_requests_discussions_spec.rb @@ -59,6 +59,7 @@ RSpec.describe 'merge requests discussions' do let!(:first_note) { create(:diff_note_on_merge_request, author: author, noteable: merge_request, project: project, note: "reference: #{reference.to_reference}") } let!(:second_note) { create(:diff_note_on_merge_request, in_reply_to: first_note, noteable: merge_request, project: project) } let!(:award_emoji) { create(:award_emoji, awardable: first_note) } + let!(:author_membership) { project.add_maintainer(author) } before do # Make a request to cache the discussions @@ -229,6 +230,16 @@ RSpec.describe 'merge requests discussions' do end end + context 'when author role changes' do + before do + Members::UpdateService.new(user, access_level: Gitlab::Access::GUEST).execute(author_membership) + end + + it_behaves_like 'cache miss' do + let(:changed_notes) { [first_note, second_note] } + end + end + context 'when merge_request_discussion_cache is disabled' do before do stub_feature_flags(merge_request_discussion_cache: false) diff --git a/spec/requests/projects/usage_quotas_spec.rb b/spec/requests/projects/usage_quotas_spec.rb new file mode 100644 index 00000000000..04e01da61ef --- /dev/null +++ b/spec/requests/projects/usage_quotas_spec.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Project Usage Quotas' do + let_it_be(:project) { create(:project) } + let_it_be(:role) { :maintainer } + let_it_be(:user) { create(:user) } + + before do + project.add_role(user, role) + login_as(user) + end + + shared_examples 'response with 404 status' do + it 'renders :not_found' do + get project_usage_quotas_path(project) + + expect(response).to have_gitlab_http_status(:not_found) + expect(response.body).not_to include(project_usage_quotas_path(project)) + end + end + + describe 'GET /:namespace/:project/usage_quotas' do + context 'with project_storage_ui feature flag enabled' do + before do + stub_feature_flags(project_storage_ui: true) + end + + it 'renders usage quotas path' do + mock_storage_app_data = { + project_path: project.full_path, + usage_quotas_help_page_path: help_page_path('user/usage_quotas'), + build_artifacts_help_page_path: help_page_path('ci/pipelines/job_artifacts', anchor: 'when-job-artifacts-are-deleted'), + packages_help_page_path: help_page_path('user/packages/package_registry/index.md', anchor: 'delete-a-package'), + repository_help_page_path: help_page_path('user/project/repository/reducing_the_repo_size_using_git'), + snippets_help_page_path: help_page_path('user/snippets', anchor: 'reduce-snippets-repository-size'), + wiki_help_page_path: help_page_path('administration/wikis/index.md', anchor: 'reduce-wiki-repository-size') + } + get project_usage_quotas_path(project) + + expect(response).to have_gitlab_http_status(:ok) + expect(response.body).to include(project_usage_quotas_path(project)) + expect(assigns[:storage_app_data]).to eq(mock_storage_app_data) + expect(response.body).to include("Usage of project resources across the <strong>#{project.name}</strong> project") + end + + context 'renders :not_found for user without permission' do + let(:role) { :developer } + + it_behaves_like 'response with 404 status' + end + end + + context 'with project_storage_ui feature flag disabled' do + before do + stub_feature_flags(project_storage_ui: false) + end + + it_behaves_like 'response with 404 status' + end + end +end |