gitlab-org--gitlab-foss/spec/migrations/remove_invalid_integrations_spec.rb

31 lines
844 B
Ruby

# frozen_string_literal: true
require 'spec_helper'
require_migration!
RSpec.describe RemoveInvalidIntegrations, :migration do
describe '#up' do
let!(:integrations) { table(:integrations) }
let!(:valid_integration) { integrations.create!(type_new: 'Foo') }
let!(:invalid_integration) { integrations.create! }
it 'removes invalid integrations', :aggregate_failures do
expect { migrate! }
.to change { integrations.pluck(:id) }.to(contain_exactly(valid_integration.id))
end
context 'when there are many invalid integrations' do
before do
stub_const('RemoveInvalidIntegrations::BATCH_SIZE', 3)
5.times { integrations.create! }
end
it 'removes them all' do
migrate!
expect(integrations.pluck(:type_new)).to all(be_present)
end
end
end
end