diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-20 09:16:11 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-01-20 09:16:11 +0000 |
commit | edaa33dee2ff2f7ea3fac488d41558eb5f86d68c (patch) | |
tree | 11f143effbfeba52329fb7afbd05e6e2a3790241 /spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb | |
parent | d8a5691316400a0f7ec4f83832698f1988eb27c1 (diff) | |
download | gitlab-ce-edaa33dee2ff2f7ea3fac488d41558eb5f86d68c.tar.gz |
Add latest changes from gitlab-org/gitlab@14-7-stable-eev14.7.0-rc42
Diffstat (limited to 'spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb')
-rw-r--r-- | spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb b/spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb index 8f3a93de509..42eec74e64f 100644 --- a/spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb +++ b/spec/support/shared_examples/loose_foreign_keys/have_loose_foreign_key.rb @@ -55,10 +55,16 @@ RSpec.shared_examples 'cleanup by a loose foreign key' do end def find_model - model.class.find_by(id: model.id) + query = model.class + # handle composite primary keys + connection = model.class.connection + connection.primary_keys(model.class.table_name).each do |primary_key| + query = query.where(primary_key => model.public_send(primary_key)) + end + query.first end - it 'deletes the model' do + it 'cleans up (delete or nullify) the model' do parent.delete expect(find_model).to be_present |