feat: Add bulk imports API for contacts (#1724)

This commit is contained in:
Sojan Jose
2021-02-03 19:24:51 +05:30
committed by GitHub
parent 7748e0c56e
commit c61edff189
20 changed files with 278 additions and 14 deletions

View File

@@ -4,7 +4,9 @@ FactoryBot.define do
account_sid { SecureRandom.uuid }
sequence(:phone_number) { |n| "+123456789#{n}1" }
medium { :sms }
inbox
account
after(:build) do |channel|
channel.inbox ||= create(:inbox, account: channel.account)
end
end
end

View File

@@ -4,6 +4,18 @@ FactoryBot.define do
factory :contact_inbox do
contact
inbox
source_id { SecureRandom.uuid }
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"
else
SecureRandom.uuid
end
end

View File

@@ -0,0 +1,7 @@
FactoryBot.define do
factory :data_import do
data_type { 'contacts' }
import_file { Rack::Test::UploadedFile.new(Rails.root.join('spec/assets/contacts.csv'), 'text/csv') }
account
end
end