summaryrefslogtreecommitdiff
path: root/spec/models/issue_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/issue_spec.rb')
-rw-r--r--spec/models/issue_spec.rb48
1 files changed, 25 insertions, 23 deletions
diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb
index 4cbfa7c7758..c105f6c3439 100644
--- a/spec/models/issue_spec.rb
+++ b/spec/models/issue_spec.rb
@@ -15,7 +15,7 @@ RSpec.describe Issue do
it { is_expected.to belong_to(:iteration) }
it { is_expected.to belong_to(:project) }
it { is_expected.to have_one(:namespace).through(:project) }
- it { is_expected.to belong_to(:work_item_type).class_name('WorkItem::Type') }
+ it { is_expected.to belong_to(:work_item_type).class_name('WorkItems::Type') }
it { is_expected.to belong_to(:moved_to).class_name('Issue') }
it { is_expected.to have_one(:moved_from).class_name('Issue') }
it { is_expected.to belong_to(:duplicated_to).class_name('Issue') }
@@ -238,6 +238,17 @@ RSpec.describe Issue do
end
end
+ # TODO: Remove when NOT NULL constraint is added to the relationship
+ describe '#work_item_type' do
+ let(:issue) { create(:issue, :incident, project: reusable_project, work_item_type: nil) }
+
+ it 'returns a default type if the legacy issue does not have a work item type associated yet' do
+ expect(issue.work_item_type_id).to be_nil
+ expect(issue.issue_type).to eq('incident')
+ expect(issue.work_item_type).to eq(WorkItems::Type.default_by_type(:incident))
+ end
+ end
+
describe '#sort' do
let(:project) { reusable_project }
@@ -1317,28 +1328,10 @@ RSpec.describe Issue do
let_it_be(:issue1) { create(:issue, project: project, relative_position: nil) }
let_it_be(:issue2) { create(:issue, project: project, relative_position: nil) }
- context 'when optimized_issue_neighbor_queries is enabled' do
- before do
- stub_feature_flags(optimized_issue_neighbor_queries: true)
- end
-
- it_behaves_like "a class that supports relative positioning" do
- let_it_be(:project) { reusable_project }
- let(:factory) { :issue }
- let(:default_params) { { project: project } }
- end
- end
-
- context 'when optimized_issue_neighbor_queries is disabled' do
- before do
- stub_feature_flags(optimized_issue_neighbor_queries: false)
- end
-
- it_behaves_like "a class that supports relative positioning" do
- let_it_be(:project) { reusable_project }
- let(:factory) { :issue }
- let(:default_params) { { project: project } }
- end
+ it_behaves_like "a class that supports relative positioning" do
+ let_it_be(:project) { reusable_project }
+ let(:factory) { :issue }
+ let(:default_params) { { project: project } }
end
it 'is not blocked for repositioning by default' do
@@ -1580,4 +1573,13 @@ RSpec.describe Issue do
expect(participant.issue.email_participants_emails_downcase).to match([participant.email.downcase])
end
end
+
+ describe '#escalation_status' do
+ it 'returns the incident_management_issuable_escalation_status association' do
+ escalation_status = create(:incident_management_issuable_escalation_status)
+ issue = escalation_status.issue
+
+ expect(issue.escalation_status).to eq(escalation_status)
+ end
+ end
end