diff options
Diffstat (limited to 'spec/lib/gitlab/database/background_migration/batched_migration_spec.rb')
-rw-r--r-- | spec/lib/gitlab/database/background_migration/batched_migration_spec.rb | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/spec/lib/gitlab/database/background_migration/batched_migration_spec.rb b/spec/lib/gitlab/database/background_migration/batched_migration_spec.rb index d881390cd52..3207e97a639 100644 --- a/spec/lib/gitlab/database/background_migration/batched_migration_spec.rb +++ b/spec/lib/gitlab/database/background_migration/batched_migration_spec.rb @@ -10,11 +10,11 @@ RSpec.describe Gitlab::Database::BackgroundMigration::BatchedMigration, type: :m describe '#last_job' do let!(:batched_migration) { create(:batched_background_migration) } - let!(:batched_job1) { create(:batched_background_migration_job, batched_migration: batched_migration) } - let!(:batched_job2) { create(:batched_background_migration_job, batched_migration: batched_migration) } + let!(:batched_job1) { create(:batched_background_migration_job, batched_migration: batched_migration, max_value: 1000) } + let!(:batched_job2) { create(:batched_background_migration_job, batched_migration: batched_migration, max_value: 500) } - it 'returns the most recent (in order of id) batched job' do - expect(batched_migration.last_job).to eq(batched_job2) + it 'returns the batched job with highest max_value' do + expect(batched_migration.last_job).to eq(batched_job1) end end end @@ -387,4 +387,22 @@ RSpec.describe Gitlab::Database::BackgroundMigration::BatchedMigration, type: :m expect(actual).to contain_exactly(migration) end end + + describe '.find_for_configuration' do + it 'returns nill if such migration does not exists' do + expect(described_class.find_for_configuration('MyJobClass', :projects, :id, [[:id], [:id_convert_to_bigint]])).to be_nil + end + + it 'returns the migration when it exists' do + migration = create( + :batched_background_migration, + job_class_name: 'MyJobClass', + table_name: :projects, + column_name: :id, + job_arguments: [[:id], [:id_convert_to_bigint]] + ) + + expect(described_class.find_for_configuration('MyJobClass', :projects, :id, [[:id], [:id_convert_to_bigint]])).to eq(migration) + end + end end |