From 536d72ba7ea2226b56ddc55a3eb35c96a9ba3b6d Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 13 Apr 2021 15:11:24 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../sidebar_confidentiality_form_spec.js | 4 +--- .../sidebar_confidentiality_widget_spec.js | 4 ++-- spec/models/concerns/subscribable_spec.rb | 4 ---- spec/requests/api/issue_links_spec.rb | 26 +++++++++++++++++----- 4 files changed, 23 insertions(+), 15 deletions(-) (limited to 'spec') 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 -- cgit v1.2.1