summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/background_migration/set_merge_request_diff_files_count_spec.rb
diff options
context:
space:
mode:
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.rb19
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