diff options
Diffstat (limited to 'spec/lib/gitlab/database/loose_foreign_keys_spec.rb')
-rw-r--r-- | spec/lib/gitlab/database/loose_foreign_keys_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/lib/gitlab/database/loose_foreign_keys_spec.rb b/spec/lib/gitlab/database/loose_foreign_keys_spec.rb index ff99f681b0c..3c2d9ca82f2 100644 --- a/spec/lib/gitlab/database/loose_foreign_keys_spec.rb +++ b/spec/lib/gitlab/database/loose_foreign_keys_spec.rb @@ -112,4 +112,31 @@ RSpec.describe Gitlab::Database::LooseForeignKeys do end end end + + describe '.build_definition' do + context 'when child table schema is not defined' do + let(:loose_foreign_keys_yaml) do + { + 'ci_unknown_table' => [ + { + 'table' => 'projects', + 'column' => 'project_id', + 'on_delete' => 'async_delete' + } + ] + } + end + + subject { described_class.definitions } + + before do + described_class.instance_variable_set(:@definitions, nil) + described_class.instance_variable_set(:@loose_foreign_keys_yaml, loose_foreign_keys_yaml) + end + + it 'raises Gitlab::Database::GitlabSchema::UnknownSchemaError error' do + expect { subject }.to raise_error(Gitlab::Database::GitlabSchema::UnknownSchemaError) + end + end + end end |