summaryrefslogtreecommitdiff
path: root/spec/migrations/20210907211557_finalize_ci_builds_bigint_conversion_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/migrations/20210907211557_finalize_ci_builds_bigint_conversion_spec.rb')
-rw-r--r--spec/migrations/20210907211557_finalize_ci_builds_bigint_conversion_spec.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/migrations/20210907211557_finalize_ci_builds_bigint_conversion_spec.rb b/spec/migrations/20210907211557_finalize_ci_builds_bigint_conversion_spec.rb
new file mode 100644
index 00000000000..362b4be1bc6
--- /dev/null
+++ b/spec/migrations/20210907211557_finalize_ci_builds_bigint_conversion_spec.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require_migration!('finalize_ci_builds_bigint_conversion')
+
+RSpec.describe FinalizeCiBuildsBigintConversion, :migration, schema: 20210907182359 do
+ context 'with an unexpected FK fk_3f0c88d7dc' do
+ it 'removes the FK and migrates successfully' do
+ # Add the unexpected FK
+ subject.add_foreign_key(:ci_sources_pipelines, :ci_builds, column: :source_job_id, name: 'fk_3f0c88d7dc')
+
+ expect { migrate! }.to change { subject.foreign_key_exists?(:ci_sources_pipelines, :ci_builds, column: :source_job_id, name: 'fk_3f0c88d7dc') }.from(true).to(false)
+
+ # Additional check: The actually expected FK should still exist
+ expect(subject.foreign_key_exists?(:ci_sources_pipelines, :ci_builds, column: :source_job_id, name: 'fk_be5624bf37')).to be_truthy
+ end
+ end
+end