41 lines
1.4 KiB
Ruby
41 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
require_migration!
|
|
|
|
RSpec.describe CleanupDraftDataFromFaultyRegex 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
|