diff options
Diffstat (limited to 'spec/migrations/add_incident_settings_to_all_existing_projects_spec.rb')
-rw-r--r-- | spec/migrations/add_incident_settings_to_all_existing_projects_spec.rb | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/spec/migrations/add_incident_settings_to_all_existing_projects_spec.rb b/spec/migrations/add_incident_settings_to_all_existing_projects_spec.rb deleted file mode 100644 index 3e0bc64bb23..00000000000 --- a/spec/migrations/add_incident_settings_to_all_existing_projects_spec.rb +++ /dev/null @@ -1,93 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' -require_migration! - -RSpec.describe AddIncidentSettingsToAllExistingProjects, :migration do - let(:project_incident_management_settings) { table(:project_incident_management_settings) } - let(:labels) { table(:labels) } - let(:label_links) { table(:label_links) } - let(:issues) { table(:issues) } - let(:projects) { table(:projects) } - let(:namespaces) { table(:namespaces) } - - RSpec.shared_examples 'setting not added' do - it 'does not add settings' do - migrate! - - expect { migrate! }.not_to change { IncidentManagement::ProjectIncidentManagementSetting.count } - end - end - - RSpec.shared_examples 'project has no incident settings' do - it 'has no settings' do - migrate! - - expect(settings).to eq(nil) - end - end - - RSpec.shared_examples 'no change to incident settings' do - it 'does not change existing settings' do - migrate! - - expect(settings.create_issue).to eq(existing_create_issue) - end - end - - RSpec.shared_context 'with incident settings' do - let(:existing_create_issue) { false } - before do - project_incident_management_settings.create!( - project_id: project.id, - create_issue: existing_create_issue - ) - end - end - - describe 'migrate!' do - let(:namespace) { namespaces.create!(name: 'foo', path: 'foo') } - let!(:project) { projects.create!(namespace_id: namespace.id) } - let(:settings) { project_incident_management_settings.find_by(project_id: project.id) } - - context 'when project does not have incident label' do - context 'does not have incident settings' do - include_examples 'setting not added' - include_examples 'project has no incident settings' - end - - context 'and has incident settings' do - include_context 'with incident settings' - - include_examples 'setting not added' - include_examples 'no change to incident settings' - end - end - - context 'when project has incident labels' do - before do - issue = issues.create!(project_id: project.id) - incident_label_attrs = IncidentManagement::CreateIncidentLabelService::LABEL_PROPERTIES - incident_label = labels.create!(project_id: project.id, **incident_label_attrs) - label_links.create!(target_id: issue.id, label_id: incident_label.id, target_type: 'Issue') - end - - context 'when project has incident settings' do - include_context 'with incident settings' - - include_examples 'setting not added' - include_examples 'no change to incident settings' - end - - context 'does not have incident settings' do - it 'adds incident settings with old defaults' do - migrate! - - expect(settings.create_issue).to eq(true) - expect(settings.send_email).to eq(false) - expect(settings.issue_template_key).to eq(nil) - end - end - end - end -end |