summaryrefslogtreecommitdiff
path: root/spec/models/users/credit_card_validation_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/users/credit_card_validation_spec.rb')
-rw-r--r--spec/models/users/credit_card_validation_spec.rb23
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