summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-04-13 15:11:24 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-13 15:11:24 +0000
commit536d72ba7ea2226b56ddc55a3eb35c96a9ba3b6d (patch)
tree39ce05fe8387849f28da473f4a001159371bcf15 /spec
parent7ad147d6b88837b12b02d1b1711061dcdcd6c0e3 (diff)
downloadgitlab-ce-536d72ba7ea2226b56ddc55a3eb35c96a9ba3b6d.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js4
-rw-r--r--spec/frontend/sidebar/components/confidential/sidebar_confidentiality_widget_spec.js4
-rw-r--r--spec/models/concerns/subscribable_spec.rb4
-rw-r--r--spec/requests/api/issue_links_spec.rb26
4 files changed, 23 insertions, 15 deletions
diff --git a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js
index d5e6310ed38..28a19fb9df6 100644
--- a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js
+++ b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js
@@ -20,11 +20,9 @@ describe('Sidebar Confidentiality Form', () => {
mutate = jest.fn().mockResolvedValue('Success'),
} = {}) => {
wrapper = shallowMount(SidebarConfidentialityForm, {
- provide: {
+ propsData: {
fullPath: 'group/project',
iid: '1',
- },
- propsData: {
confidential: false,
issuableType: 'issue',
...props,
diff --git a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_widget_spec.js b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_widget_spec.js
index 20a5be9b518..707215d0739 100644
--- a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_widget_spec.js
+++ b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_widget_spec.js
@@ -35,11 +35,11 @@ describe('Sidebar Confidentiality Widget', () => {
localVue,
apolloProvider: fakeApollo,
provide: {
- fullPath: 'group/project',
- iid: '1',
canUpdate: true,
},
propsData: {
+ fullPath: 'group/project',
+ iid: '1',
issuableType: 'issue',
},
stubs: {
diff --git a/spec/models/concerns/subscribable_spec.rb b/spec/models/concerns/subscribable_spec.rb
index e808281b862..a60a0a5e26d 100644
--- a/spec/models/concerns/subscribable_spec.rb
+++ b/spec/models/concerns/subscribable_spec.rb
@@ -194,10 +194,6 @@ RSpec.describe Subscribable, 'Subscribable' do
end
end
- describe '#lazy_subscribed?' do
- it_behaves_like 'returns expected values', :lazy_subscribed?
- end
-
describe '#lazy_subscription' do
let(:labels) { create_list(:group_label, 5) }
diff --git a/spec/requests/api/issue_links_spec.rb b/spec/requests/api/issue_links_spec.rb
index b64d395f25f..45583f5c7dc 100644
--- a/spec/requests/api/issue_links_spec.rb
+++ b/spec/requests/api/issue_links_spec.rb
@@ -12,26 +12,40 @@ RSpec.describe API::IssueLinks do
end
describe 'GET /links' do
+ def perform_request(user = nil, params = {})
+ get api("/projects/#{project.id}/issues/#{issue.iid}/links", user), params: params
+ end
+
context 'when unauthenticated' do
it 'returns 401' do
- get api("/projects/#{project.id}/issues/#{issue.iid}/links")
+ perform_request
expect(response).to have_gitlab_http_status(:unauthorized)
end
end
context 'when authenticated' do
- it 'returns related issues' do
- target_issue = create(:issue, project: project)
- create(:issue_link, source: issue, target: target_issue)
+ let_it_be(:issue_link1) { create(:issue_link, source: issue, target: create(:issue, project: project)) }
+ let_it_be(:issue_link2) { create(:issue_link, source: issue, target: create(:issue, project: project)) }
- get api("/projects/#{project.id}/issues/#{issue.iid}/links", user)
+ it 'returns related issues' do
+ perform_request(user)
expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to be_an Array
- expect(json_response.length).to eq(1)
+ expect(json_response.length).to eq(2)
expect(response).to match_response_schema('public_api/v4/issue_links')
end
+
+ it 'returns multiple links without N + 1' do
+ perform_request(user)
+
+ control_count = ActiveRecord::QueryRecorder.new { perform_request(user) }.count
+
+ create(:issue_link, source: issue, target: create(:issue, project: project))
+
+ expect { perform_request(user) }.not_to exceed_query_limit(control_count)
+ end
end
end