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/models/issue_link_spec.rb')
-rw-r--r--spec/models/issue_link_spec.rb53
1 files changed, 12 insertions, 41 deletions
diff --git a/spec/models/issue_link_spec.rb b/spec/models/issue_link_spec.rb
index d69a3f2954c..9af667c2960 100644
--- a/spec/models/issue_link_spec.rb
+++ b/spec/models/issue_link_spec.rb
@@ -2,7 +2,9 @@
require 'spec_helper'
-RSpec.describe IssueLink do
+RSpec.describe IssueLink, feature_category: :portfolio_management do
+ let_it_be(:project) { create(:project) }
+
it_behaves_like 'issuable link' do
let_it_be_with_reload(:issuable_link) { create(:issue_link) }
let_it_be(:issuable) { create(:issue) }
@@ -14,46 +16,15 @@ RSpec.describe IssueLink do
it { expect(described_class.issuable_type).to eq(:issue) }
end
- describe 'Scopes' do
- let_it_be(:issue1) { create(:issue) }
- let_it_be(:issue2) { create(:issue) }
-
- describe '.for_source_issue' do
- it 'includes linked issues for source issue' do
- source_issue = create(:issue)
- issue_link_1 = create(:issue_link, source: source_issue, target: issue1)
- issue_link_2 = create(:issue_link, source: source_issue, target: issue2)
-
- result = described_class.for_source_issue(source_issue)
-
- expect(result).to contain_exactly(issue_link_1, issue_link_2)
- end
- end
-
- describe '.for_target_issue' do
- it 'includes linked issues for target issue' do
- target_issue = create(:issue)
- issue_link_1 = create(:issue_link, source: issue1, target: target_issue)
- issue_link_2 = create(:issue_link, source: issue2, target: target_issue)
-
- result = described_class.for_target_issue(target_issue)
-
- expect(result).to contain_exactly(issue_link_1, issue_link_2)
- end
- end
-
- describe '.for_issues' do
- let_it_be(:issue) { create(:issue) }
- let_it_be(:source_link) { create(:issue_link, source: issue, target: issue1) }
- let_it_be(:target_link) { create(:issue_link, source: issue2, target: issue) }
-
- it 'includes links when issue is source' do
- expect(described_class.for_issues(issue, issue1)).to contain_exactly(source_link)
- end
+ describe '.issuable_name' do
+ it { expect(described_class.issuable_name).to eq('issue') }
+ end
- it 'includes links when issue is target' do
- expect(described_class.for_issues(issue, issue2)).to contain_exactly(target_link)
- end
- end
+ it_behaves_like 'includes LinkableItem concern' do
+ let_it_be(:item) { create(:issue, project: project) }
+ let_it_be(:item1) { create(:issue, project: project) }
+ let_it_be(:item2) { create(:issue, project: project) }
+ let_it_be(:link_factory) { :issue_link }
+ let_it_be(:item_type) { 'issue' }
end
end