Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/projects_spec.rb')
-rw-r--r--spec/requests/api/projects_spec.rb43
1 files changed, 42 insertions, 1 deletions
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 431d2e56cb5..ae689d7327b 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -328,6 +328,45 @@ RSpec.describe API::Projects do
end
end
+ context 'filter by topic_id' do
+ let_it_be(:topic1) { create(:topic) }
+ let_it_be(:topic2) { create(:topic) }
+
+ let(:current_user) { user }
+
+ before do
+ project.topics << topic1
+ end
+
+ context 'with id of assigned topic' do
+ it_behaves_like 'projects response' do
+ let(:filter) { { topic_id: topic1.id } }
+ let(:projects) { [project] }
+ end
+ end
+
+ context 'with id of unassigned topic' do
+ it_behaves_like 'projects response' do
+ let(:filter) { { topic_id: topic2.id } }
+ let(:projects) { [] }
+ end
+ end
+
+ context 'with non-existing topic id' do
+ it_behaves_like 'projects response' do
+ let(:filter) { { topic_id: non_existing_record_id } }
+ let(:projects) { [] }
+ end
+ end
+
+ context 'with empty topic id' do
+ it_behaves_like 'projects response' do
+ let(:filter) { { topic_id: '' } }
+ let(:projects) { user_projects }
+ end
+ end
+ end
+
context 'and with_issues_enabled=true' do
it 'only returns projects with issues enabled' do
project.project_feature.update_attribute(:issues_access_level, ProjectFeature::DISABLED)
@@ -2388,6 +2427,7 @@ RSpec.describe API::Projects do
expect(json_response['only_allow_merge_if_all_discussions_are_resolved']).to eq(project.only_allow_merge_if_all_discussions_are_resolved)
expect(json_response['ci_default_git_depth']).to eq(project.ci_default_git_depth)
expect(json_response['ci_forward_deployment_enabled']).to eq(project.ci_forward_deployment_enabled)
+ expect(json_response['ci_separated_caches']).to eq(project.ci_separated_caches)
expect(json_response['merge_method']).to eq(project.merge_method.to_s)
expect(json_response['squash_option']).to eq(project.squash_option.to_s)
expect(json_response['readme_url']).to eq(project.readme_url)
@@ -3199,7 +3239,7 @@ RSpec.describe API::Projects do
measure_project.add_developer(create(:user))
measure_project.add_developer(create(:user)) # make this 2nd one to find any n+1
- unresolved_n_plus_ones = 21 # 21 queries added per member
+ unresolved_n_plus_ones = 27 # 27 queries added per member
expect do
post api("/projects/#{project.id}/import_project_members/#{measure_project.id}", user)
@@ -3652,6 +3692,7 @@ RSpec.describe API::Projects do
merge_method: 'ff',
ci_default_git_depth: 20,
ci_forward_deployment_enabled: false,
+ ci_separated_caches: false,
description: 'new description' }
put api("/projects/#{project3.id}", user4), params: project_param