diff options
Diffstat (limited to 'spec/models/users/credit_card_validation_spec.rb')
-rw-r--r-- | spec/models/users/credit_card_validation_spec.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/models/users/credit_card_validation_spec.rb b/spec/models/users/credit_card_validation_spec.rb index 34cfd500c26..58b529ff18a 100644 --- a/spec/models/users/credit_card_validation_spec.rb +++ b/spec/models/users/credit_card_validation_spec.rb @@ -28,4 +28,27 @@ RSpec.describe Users::CreditCardValidation do expect(subject.similar_records).to eq([match2, match1, subject]) end end + + describe '#similar_holder_names_count' do + subject!(:credit_card_validation) { create(:credit_card_validation, holder_name: holder_name) } + + context 'when holder_name is present' do + let(:holder_name) { 'ALICE M SMITH' } + + let!(:match) { create(:credit_card_validation, holder_name: 'Alice M Smith') } + let!(:non_match) { create(:credit_card_validation, holder_name: 'Bob B Brown') } + + it 'returns the count of cards with similar case insensitive holder names' do + expect(subject.similar_holder_names_count).to eq(2) + end + end + + context 'when holder_name is nil' do + let(:holder_name) { nil } + + it 'returns 0' do + expect(subject.similar_holder_names_count).to eq(0) + end + end + end end |