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/20211028155449_schedule_fix_merge_request_diff_commit_users_migration_spec.rb')
-rw-r--r--spec/migrations/20211028155449_schedule_fix_merge_request_diff_commit_users_migration_spec.rb63
1 files changed, 63 insertions, 0 deletions
diff --git a/spec/migrations/20211028155449_schedule_fix_merge_request_diff_commit_users_migration_spec.rb b/spec/migrations/20211028155449_schedule_fix_merge_request_diff_commit_users_migration_spec.rb
new file mode 100644
index 00000000000..6511f554436
--- /dev/null
+++ b/spec/migrations/20211028155449_schedule_fix_merge_request_diff_commit_users_migration_spec.rb
@@ -0,0 +1,63 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require_migration! 'schedule_fix_merge_request_diff_commit_users_migration'
+
+RSpec.describe ScheduleFixMergeRequestDiffCommitUsersMigration, :migration do
+ let(:migration) { described_class.new }
+ let(:namespaces) { table(:namespaces) }
+ let(:projects) { table(:projects) }
+ let(:namespace) { namespaces.create!(name: 'foo', path: 'foo') }
+
+ describe '#up' do
+ it 'does nothing when there are no projects to correct' do
+ migration.up
+
+ expect(Gitlab::Database::BackgroundMigrationJob.count).to be_zero
+ end
+
+ it 'schedules imported projects created after July' do
+ project = projects.create!(
+ namespace_id: namespace.id,
+ import_type: 'gitlab_project',
+ created_at: '2021-08-01'
+ )
+
+ expect(migration)
+ .to receive(:migrate_in)
+ .with(2.minutes, 'FixMergeRequestDiffCommitUsers', [project.id])
+
+ migration.up
+
+ expect(Gitlab::Database::BackgroundMigrationJob.count).to eq(1)
+
+ job = Gitlab::Database::BackgroundMigrationJob.first
+
+ expect(job.class_name).to eq('FixMergeRequestDiffCommitUsers')
+ expect(job.arguments).to eq([project.id])
+ end
+
+ it 'ignores projects imported before July' do
+ projects.create!(
+ namespace_id: namespace.id,
+ import_type: 'gitlab_project',
+ created_at: '2020-08-01'
+ )
+
+ migration.up
+
+ expect(Gitlab::Database::BackgroundMigrationJob.count).to be_zero
+ end
+
+ it 'ignores projects that are not imported' do
+ projects.create!(
+ namespace_id: namespace.id,
+ created_at: '2021-08-01'
+ )
+
+ migration.up
+
+ expect(Gitlab::Database::BackgroundMigrationJob.count).to be_zero
+ end
+ end
+end