@@ -36,25 +36,14 @@ describe('resolveContactConflicts', () => {
3636 conflictingFields : [ { field : 'customFields.customField' , value : 'oldValue' } ] ,
3737 } ) ;
3838 modelsMock . Settings . incrementValueById . resolves ( 1 ) ;
39- modelsMock . LivechatContacts . updateContact . resolves ( {
40- _id : 'contactId' ,
41- customField : { customField : 'newValue' } ,
42- conflictingFields : [ { field : 'customFields.customField' , value : 'oldValue' } ] ,
43- } as Partial < ILivechatContact > ) ;
4439
45- const result = await resolveContactConflicts ( { contactId : 'contactId' , customField : { customField : 'newValue ' } } ) ;
40+ await resolveContactConflicts ( { contactId : 'contactId' , customFields : { customField : 'newestValue ' } } ) ;
4641
4742 expect ( modelsMock . LivechatContacts . findOneEnabledById . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'contactId' ) ;
4843
49- expect ( modelsMock . Settings . incrementValueById . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'Livechat_conflicting_fields_counter' ) ;
50- expect ( modelsMock . Settings . incrementValueById . getCall ( 0 ) . args [ 1 ] ) . to . be . equal ( 1 ) ;
51-
5244 expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'contactId' ) ;
53- expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 1 ] ) . to . be . deep . contain ( { customFields : { customField : 'newValue' } } ) ;
54- expect ( result ) . to . be . deep . equal ( {
55- _id : 'contactId' ,
56- customField : { customField : 'newValue' } ,
57- conflictingFields : [ ] ,
45+ expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 1 ] ) . to . be . deep . contain ( {
46+ customFields : { customField : 'newestValue' } ,
5847 } ) ;
5948 } ) ;
6049
@@ -66,28 +55,13 @@ describe('resolveContactConflicts', () => {
6655 conflictingFields : [ { field : 'name' , value : 'Old Name' } ] ,
6756 } ) ;
6857 modelsMock . Settings . incrementValueById . resolves ( 1 ) ;
69- modelsMock . LivechatContacts . updateContact . resolves ( {
70- _id : 'contactId' ,
71- name : 'New Name' ,
72- customField : { customField : 'newValue' } ,
73- conflictingFields : [ ] ,
74- } as Partial < ILivechatContact > ) ;
7558
76- const result = await resolveContactConflicts ( { contactId : 'contactId' , name : 'New Name' } ) ;
59+ await resolveContactConflicts ( { contactId : 'contactId' , name : 'New Name' } ) ;
7760
7861 expect ( modelsMock . LivechatContacts . findOneEnabledById . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'contactId' ) ;
7962
80- expect ( modelsMock . Settings . incrementValueById . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'Livechat_conflicting_fields_counter' ) ;
81- expect ( modelsMock . Settings . incrementValueById . getCall ( 0 ) . args [ 1 ] ) . to . be . equal ( 1 ) ;
82-
8363 expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'contactId' ) ;
8464 expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 1 ] ) . to . be . deep . contain ( { name : 'New Name' } ) ;
85- expect ( result ) . to . be . deep . equal ( {
86- _id : 'contactId' ,
87- name : 'New Name' ,
88- customField : { customField : 'newValue' } ,
89- conflictingFields : [ ] ,
90- } ) ;
9165 } ) ;
9266
9367 it ( 'should update the contact with the resolved contact manager' , async ( ) => {
@@ -96,31 +70,16 @@ describe('resolveContactConflicts', () => {
9670 name : 'Name' ,
9771 contactManager : 'contactManagerId' ,
9872 customFields : { customField : 'value' } ,
99- conflictingFields : [ { field : 'manager' , value : 'newContactManagerId ' } ] ,
73+ conflictingFields : [ { field : 'manager' , value : 'oldManagerId ' } ] ,
10074 } ) ;
101- modelsMock . Settings . incrementValueById . resolves ( 1 ) ;
102- modelsMock . LivechatContacts . updateContact . resolves ( {
103- _id : 'contactId' ,
104- name : 'Name' ,
105- contactManager : 'newContactManagerId' ,
106- customField : { customField : 'value' } ,
107- conflictingFields : [ ] ,
108- } as Partial < ILivechatContact > ) ;
10975
110- const result = await resolveContactConflicts ( { contactId : 'contactId' , name : 'New Name' } ) ;
76+ await resolveContactConflicts ( { contactId : 'contactId' , name : 'New Name' , customFields : { manager : 'newContactManagerId' } } ) ;
11177
11278 expect ( modelsMock . LivechatContacts . findOneEnabledById . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'contactId' ) ;
11379
114- expect ( modelsMock . Settings . incrementValueById . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'Livechat_conflicting_fields_counter' ) ;
115- expect ( modelsMock . Settings . incrementValueById . getCall ( 0 ) . args [ 1 ] ) . to . be . equal ( 1 ) ;
116-
11780 expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'contactId' ) ;
118- expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 1 ] ) . to . be . deep . contain ( { contactManager : 'newContactManagerId' } ) ;
119- expect ( result ) . to . be . deep . equal ( {
120- _id : 'contactId' ,
121- name : 'New Name' ,
122- customField : { customField : 'newValue' } ,
123- conflictingFields : [ ] ,
81+ expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) . args [ 1 ] ) . to . be . deep . contain ( {
82+ customFields : { customField : 'value' , manager : 'newContactManagerId' } ,
12483 } ) ;
12584 } ) ;
12685
@@ -219,21 +178,4 @@ describe('resolveContactConflicts', () => {
219178 ) ;
220179 expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) ) . to . be . null ;
221180 } ) ;
222-
223- it ( 'should throw an error if the contact manager is invalid' , async ( ) => {
224- modelsMock . LivechatContacts . findOneEnabledById . resolves ( {
225- _id : 'contactId' ,
226- name : 'Name' ,
227- contactManager : 'contactManagerId' ,
228- customFields : { customField : 'value' } ,
229- conflictingFields : [ { field : 'manager' , value : 'newContactManagerId' } ] ,
230- } ) ;
231- await expect ( resolveContactConflicts ( { contactId : 'id' , contactManager : 'invalid' } ) ) . to . be . rejectedWith (
232- 'error-contact-manager-not-found' ,
233- ) ;
234-
235- expect ( validateContactManagerMock . getCall ( 0 ) . args [ 0 ] ) . to . be . equal ( 'invalid' ) ;
236-
237- expect ( modelsMock . LivechatContacts . updateContact . getCall ( 0 ) ) . to . be . null ;
238- } ) ;
239181} ) ;
0 commit comments