summaryrefslogtreecommitdiff
path: root/spec/services/incident_management
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-09-19 01:45:44 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-09-19 01:45:44 +0000
commit85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch)
tree9160f299afd8c80c038f08e1545be119f5e3f1e1 /spec/services/incident_management
parent15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff)
downloadgitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'spec/services/incident_management')
-rw-r--r--spec/services/incident_management/create_incident_label_service_spec.rb7
-rw-r--r--spec/services/incident_management/incidents/create_service_spec.rb49
2 files changed, 45 insertions, 11 deletions
diff --git a/spec/services/incident_management/create_incident_label_service_spec.rb b/spec/services/incident_management/create_incident_label_service_spec.rb
index 18a7c019497..4771dfc9e64 100644
--- a/spec/services/incident_management/create_incident_label_service_spec.rb
+++ b/spec/services/incident_management/create_incident_label_service_spec.rb
@@ -10,9 +10,10 @@ RSpec.describe IncidentManagement::CreateIncidentLabelService do
subject(:execute) { service.execute }
describe 'execute' do
- let(:title) { described_class::LABEL_PROPERTIES[:title] }
- let(:color) { described_class::LABEL_PROPERTIES[:color] }
- let(:description) { described_class::LABEL_PROPERTIES[:description] }
+ let(:incident_label_attributes) { attributes_for(:label, :incident) }
+ let(:title) { incident_label_attributes[:title] }
+ let(:color) { incident_label_attributes[:color] }
+ let(:description) { incident_label_attributes[:description] }
shared_examples 'existing label' do
it 'returns the existing label' do
diff --git a/spec/services/incident_management/incidents/create_service_spec.rb b/spec/services/incident_management/incidents/create_service_spec.rb
index 404c428cd94..1330f3ae033 100644
--- a/spec/services/incident_management/incidents/create_service_spec.rb
+++ b/spec/services/incident_management/incidents/create_service_spec.rb
@@ -13,7 +13,7 @@ RSpec.describe IncidentManagement::Incidents::CreateService do
context 'when incident has title and description' do
let(:title) { 'Incident title' }
let(:new_issue) { Issue.last! }
- let(:label_title) { IncidentManagement::CreateIncidentLabelService::LABEL_PROPERTIES[:title] }
+ let(:label_title) { attributes_for(:label, :incident)[:title] }
it 'responds with success' do
expect(create_incident).to be_success
@@ -23,14 +23,47 @@ RSpec.describe IncidentManagement::Incidents::CreateService do
expect { create_incident }.to change(Issue, :count).by(1)
end
- it 'created issue has correct attributes' do
+ it 'created issue has correct attributes', :aggregate_failures do
create_incident
- aggregate_failures do
- expect(new_issue.title).to eq(title)
- expect(new_issue.description).to eq(description)
- expect(new_issue.author).to eq(user)
- expect(new_issue.issue_type).to eq('incident')
- expect(new_issue.labels.map(&:title)).to eq([label_title])
+
+ expect(new_issue.title).to eq(title)
+ expect(new_issue.description).to eq(description)
+ expect(new_issue.author).to eq(user)
+ end
+
+ it_behaves_like 'incident issue' do
+ before do
+ create_incident
+ end
+
+ let(:issue) { new_issue }
+ end
+
+ context 'with default severity' do
+ it 'sets the correct severity level to "unknown"' do
+ create_incident
+ expect(new_issue.severity).to eq(IssuableSeverity::DEFAULT)
+ end
+ end
+
+ context 'with severity' do
+ using RSpec::Parameterized::TableSyntax
+
+ subject(:create_incident) { described_class.new(project, user, title: title, description: description, severity: severity).execute }
+
+ where(:severity, :incident_severity) do
+ 'critical' | 'critical'
+ 'high' | 'high'
+ 'medium' | 'medium'
+ 'low' | 'low'
+ 'unknown' | 'unknown'
+ end
+
+ with_them do
+ it 'sets the correct severity level' do
+ create_incident
+ expect(new_issue.severity).to eq(incident_severity)
+ end
end
end