1819041f5a
- Fix contact inbox builder returning invalid WhatsApp source id - Add specs to cover source id validations Co-authored-by: Sojan Jose <sojan@pepalo.com>
23 lines
642 B
Ruby
23 lines
642 B
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :contact_inbox do
|
|
contact
|
|
inbox
|
|
|
|
after(:build) { |contact_inbox| contact_inbox.source_id ||= generate_source_id(contact_inbox) }
|
|
end
|
|
end
|
|
|
|
def generate_source_id(contact_inbox)
|
|
case contact_inbox.inbox.channel_type
|
|
when 'Channel::TwilioSms'
|
|
contact_inbox.inbox.channel.medium == 'sms' ? Faker::PhoneNumber.cell_phone_in_e164 : "whatsapp:#{Faker::PhoneNumber.cell_phone_in_e164}"
|
|
when 'Channel::Email'
|
|
"#{SecureRandom.uuid}@acme.inc"
|
|
when 'Channel::Whatsapp'
|
|
Faker::PhoneNumber.cell_phone_in_e164.delete('+')
|
|
else
|
|
SecureRandom.uuid
|
|
end
|
|
end
|