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/migrations/20220913030624_cleanup_attention_request_related_system_notes_spec.rb')
-rw-r--r--spec/migrations/20220913030624_cleanup_attention_request_related_system_notes_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/migrations/20220913030624_cleanup_attention_request_related_system_notes_spec.rb b/spec/migrations/20220913030624_cleanup_attention_request_related_system_notes_spec.rb
new file mode 100644
index 00000000000..7338a6ab9ae
--- /dev/null
+++ b/spec/migrations/20220913030624_cleanup_attention_request_related_system_notes_spec.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require_migration!
+
+RSpec.describe CleanupAttentionRequestRelatedSystemNotes, :migration do
+ let(:notes) { table(:notes) }
+ let(:system_note_metadata) { table(:system_note_metadata) }
+
+ it 'removes all notes with attention request related system_note_metadata' do
+ notes.create!(id: 1, note: 'Attention request note', noteable_type: 'MergeRequest')
+ notes.create!(id: 2, note: 'Attention request remove note', noteable_type: 'MergeRequest')
+ notes.create!(id: 3, note: 'MergeRequest note', noteable_type: 'MergeRequest')
+ notes.create!(id: 4, note: 'Commit note', noteable_type: 'Commit')
+ system_note_metadata.create!(id: 11, action: 'attention_requested', note_id: 1)
+ system_note_metadata.create!(id: 22, action: 'attention_request_removed', note_id: 2)
+ system_note_metadata.create!(id: 33, action: 'merged', note_id: 3)
+
+ expect { migrate! }.to change(notes, :count).by(-2)
+
+ expect(system_note_metadata.where(action: %w[attention_requested attention_request_removed]).size).to eq(0)
+ expect(notes.where(noteable_type: 'MergeRequest').size).to eq(1)
+ expect(notes.where(noteable_type: 'Commit').size).to eq(1)
+ expect(system_note_metadata.where(action: 'merged').size).to eq(1)
+ end
+end