debian-mirror-gitlab/spec/migrations/20220315171129_cleanup_draft_data_from_faulty_regex_spec.rb
2023-03-17 16:20:25 +05:30

41 lines
1.4 KiB
Ruby

# frozen_string_literal: true
require 'spec_helper'
require_migration!
RSpec.describe CleanupDraftDataFromFaultyRegex, feature_category: :code_review_workflow do
let(:merge_requests) { table(:merge_requests) }
let!(:namespace) { table(:namespaces).create!(name: 'namespace', path: 'namespace') }
let!(:project) { table(:projects).create!(namespace_id: namespace.id) }
let(:default_mr_values) do
{
target_project_id: project.id,
draft: true,
source_branch: 'master',
target_branch: 'feature'
}
end
let!(:known_good_1) { merge_requests.create!(default_mr_values.merge(title: "Draft: Test Title")) }
let!(:known_good_2) { merge_requests.create!(default_mr_values.merge(title: "WIP: Test Title")) }
let!(:known_bad_1) { merge_requests.create!(default_mr_values.merge(title: "Known bad title drafts")) }
let!(:known_bad_2) { merge_requests.create!(default_mr_values.merge(title: "Known bad title wip")) }
describe '#up' do
it 'schedules CleanupDraftDataFromFaultyRegex background jobs filtering for eligble MRs' do
stub_const("#{described_class}::BATCH_SIZE", 2)
allow(Gitlab).to receive(:com?).and_return(true)
freeze_time do
migrate!
expect(described_class::MIGRATION).to be_scheduled_delayed_migration(5.minutes, known_bad_1.id, known_bad_2.id)
expect(BackgroundMigrationWorker.jobs.size).to eq(1)
end
end
end
end