feat: Add bulk imports API for contacts (#1724)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
7
spec/factories/data_import.rb
Normal file
7
spec/factories/data_import.rb
Normal 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
|
||||
Reference in New Issue
Block a user