diff options
Diffstat (limited to 'spec/lib/gitlab/background_migration/set_merge_request_diff_files_count_spec.rb')
-rw-r--r-- | spec/lib/gitlab/background_migration/set_merge_request_diff_files_count_spec.rb | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/spec/lib/gitlab/background_migration/set_merge_request_diff_files_count_spec.rb b/spec/lib/gitlab/background_migration/set_merge_request_diff_files_count_spec.rb index 6e9f51f510a..f23518625e4 100644 --- a/spec/lib/gitlab/background_migration/set_merge_request_diff_files_count_spec.rb +++ b/spec/lib/gitlab/background_migration/set_merge_request_diff_files_count_spec.rb @@ -13,11 +13,11 @@ RSpec.describe Gitlab::BackgroundMigration::SetMergeRequestDiffFilesCount, schem let(:project) { projects.create!(namespace_id: namespace.id) } let(:merge_request) { merge_requests.create!(source_branch: 'x', target_branch: 'master', target_project_id: project.id) } - it 'fills the files_count column' do - empty_diff = merge_request_diffs.create!(merge_request_id: merge_request.id) - filled_diff = merge_request_diffs.create!(merge_request_id: merge_request.id) + let!(:empty_diff) { merge_request_diffs.create!(merge_request_id: merge_request.id) } + let!(:filled_diff) { merge_request_diffs.create!(merge_request_id: merge_request.id) } - 3.times do |n| + let!(:filled_diff_files) do + 1.upto(3).map do |n| merge_request_diff_files.create!( merge_request_diff_id: filled_diff.id, relative_order: n, @@ -31,10 +31,21 @@ RSpec.describe Gitlab::BackgroundMigration::SetMergeRequestDiffFilesCount, schem new_path: '' ) end + end + it 'fills the files_count column' do described_class.new.perform(empty_diff.id, filled_diff.id) expect(empty_diff.reload.files_count).to eq(0) expect(filled_diff.reload.files_count).to eq(3) end + + it 'uses the sentinel value if the actual count is too high' do + stub_const("#{described_class}::FILES_COUNT_SENTINEL", filled_diff_files.size - 1) + + described_class.new.perform(empty_diff.id, filled_diff.id) + + expect(empty_diff.reload.files_count).to eq(0) + expect(filled_diff.reload.files_count).to eq(described_class::FILES_COUNT_SENTINEL) + end end |