From 6069cd9eba8db48ad23b34d349e45a4dbdba3a66 Mon Sep 17 00:00:00 2001 From: Amit Kumar Date: Sun, 19 Dec 2021 10:59:03 +0530 Subject: [PATCH] chore: Contact builder ignores custom attributes (#3571) This is incorrect as per the documentation here: https://www.chatwoot.com/developers/api/#operation/create-a-contact This allows setting the proper attributes when creating a contact --- app/builders/contact_builder.rb | 3 ++- spec/builders/contact_builder_spec.rb | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/builders/contact_builder.rb b/app/builders/contact_builder.rb index ac24aca34..14f26aa82 100644 --- a/app/builders/contact_builder.rb +++ b/app/builders/contact_builder.rb @@ -33,7 +33,8 @@ class ContactBuilder phone_number: contact_attributes[:phone_number], email: contact_attributes[:email], identifier: contact_attributes[:identifier], - additional_attributes: contact_attributes[:additional_attributes] + additional_attributes: contact_attributes[:additional_attributes], + custom_attributes: contact_attributes[:custom_attributes] ) end diff --git a/spec/builders/contact_builder_spec.rb b/spec/builders/contact_builder_spec.rb index 5687ce470..29df0da22 100644 --- a/spec/builders/contact_builder_spec.rb +++ b/spec/builders/contact_builder_spec.rb @@ -28,12 +28,14 @@ describe ::ContactBuilder do contact_attributes: { name: 'Contact', phone_number: '+1234567890', - email: 'testemail@example.com' + email: 'testemail@example.com', + custom_attributes: { test: 'test' } } ).perform expect(contact_inbox.contact.id).not_to eq(contact.id) expect(contact_inbox.contact.name).to eq('Contact') + expect(contact_inbox.contact.custom_attributes).to eq({ 'test' => 'test' }) expect(contact_inbox.inbox_id).to eq(inbox.id) end