diff --git a/crmContact.go b/crmContact.go index 346b460..fae28e7 100644 --- a/crmContact.go +++ b/crmContact.go @@ -7,7 +7,7 @@ import ( type crmdContact struct { crmdEntityBase - SolutationName string `json:"solutationName,omitempty"` + SalutationName string `json:"salutationName,omitempty"` FirstName string `json:"firstName,omitempty"` LastName string `json:"lastName,omitempty"` AccountID string `json:"accountID,omitempty"` @@ -39,8 +39,8 @@ type crmdContact struct { AccountsColumns map[string]struct { Role string `json:"role,omitempty"` } `json:"accountsColumns,omitempty"` - CompainID string `json:"campainId,omitempty"` - CampainName string `json:"campainName,omitempty"` + CampaignID string `json:"campaignId,omitempty"` + CampaignName string `json:"campaignName,omitempty"` PortalUserID string `json:"portalUserId,omitempty"` PortalUserName string `json:"portalUserName,omitempty"` @@ -95,7 +95,7 @@ func (m *crmdContact) convertFromLead(leadID string) (err error) { } func (m *crmdContact) copyFromLead(lead crmdLead) { - m.SolutationName = lead.SalutationName + m.SalutationName = lead.SalutationName m.FirstName = lead.FirstName m.LastName = lead.LastName m.EmailAddressData = lead.EmailAddressData diff --git a/crmContact_test.go b/crmContact_test.go index b1a4c28..2662570 100644 --- a/crmContact_test.go +++ b/crmContact_test.go @@ -39,3 +39,116 @@ func TestConvertLead2Contact(t *testing.T) { //delete contact crmDeleteEntity("Contact", cc.ID) } + +func TestDecodeContact(t *testing.T) { + msg := `{ + "id": "57efb926aa6725fdd", + "name": "Vincent Zhang", + "deleted": false, + "salutationName": "Mr.", + "firstName": "Vincent", + "lastName": "Zhang", + "accountId": "57e3de733402c8d5f", + "title": "IT Admin", + "description": "somedescription", + "emailAddress": "testemail@gmail.com", + "phoneNumber": "12315", + "doNotCall": false, + "addressStreet": "street", + "addressCity": "city", + "addressState": "state", + "addressCountry": "au", + "addressPostalCode": "123", + "accountType": "Customer", + "createdAt": "2016-10-01 13:24:54", + "modifiedAt": "2016-10-10 06:18:54", + "emailAddressData": [], + "phoneNumberData": [], + "accountName": "Macquarie Mandarin", + "accountsIds": [ + "57e3de733402c8d5f" + ], + "accountsNames": { + "57e3de733402c8d5f": "Macquarie Mandarin" + }, + "accountsColumns": { + "57e3de733402c8d5f": { + "role": "IT Admin" + } + }, + "campaignId": "cid", + "campaignName": "campaignname", + "createdById": "1", + "createdByName": "spp", + "modifiedById": "1", + "modifiedByName": "spp", + "assignedUserId": "1", + "assignedUserName": "spp", + "teamsIds": [], + "teamsNames": {}, + "portalUserId": "pi", + "portalUserName": "pu", + "originalLeadId": "oid", + "originalLeadName": "oname", + "isFollowed": true, + "followersIds": [ + "1" + ], + "followersNames": { + "1": "spp" + }, + "avatarId": "57fb32cd3de8755df", + "avatarName": "06_vincen.jpg", + "namecardId": null, + "namecardName": null, + "namecardbackId": null, + "namecardbackName": null + }` + + cc := crmdContact{} + err := json.Unmarshal([]byte(msg), &cc) + //log.Println(err) + AssertEqual(t, err, nil, "decode contact should be correct") + AssertEqual(t, cc.ID, "57efb926aa6725fdd", "contact ID mismatch") + AssertEqual(t, cc.Name, "Vincent Zhang", "contact name mismatch") + AssertEqual(t, cc.Deleted, false, "deleted should be false") + AssertEqual(t, cc.SalutationName, "Mr.", "solutation should be Mr.") + AssertEqual(t, cc.FirstName, "Vincent", "first name should be Vincent") + AssertEqual(t, cc.LastName, "Zhang", "last name should be zhang") + AssertEqual(t, cc.AccountID, "57e3de733402c8d5f", "accound id should be 57e3de733402c8d5f") + AssertEqual(t, cc.Title, "IT Admin", "title should be IT Admin") + AssertEqual(t, cc.Description, "somedescription", "description not right") + AssertEqual(t, cc.EmailAddress, "testemail@gmail.com", "email address not right") + AssertEqual(t, cc.PhoneNumber, "12315", "") + AssertEqual(t, cc.DoNotCall, false, "do not call should be false ") + AssertEqual(t, cc.AddressStreet, "street", "street not right") + AssertEqual(t, cc.AddressCity, "city", "city not right") + AssertEqual(t, cc.AddressState, "state", "state not right") + AssertEqual(t, cc.AddressCountry, "au", "country mismatch") + AssertEqual(t, cc.AddresPostalCode, "123", "post code not right") + AssertEqual(t, cc.AccountType, "Customer", "account type shold be customer") + AssertEqual(t, cc.CreatedAt, "2016-10-01 13:24:54", "") + AssertEqual(t, cc.ModifiedAt, "2016-10-10 06:18:54", "") + AssertEqual(t, cc.AccountName, "Macquarie Mandarin", "") + AssertEqual(t, cc.AccountIDs[0], "57e3de733402c8d5f", "first account id mismatch") + AssertEqual(t, cc.AccountNames["57e3de733402c8d5f"], "Macquarie Mandarin", "") + AssertEqual(t, cc.AccountsColumns["57e3de733402c8d5f"].Role, "IT Admin", "") + AssertEqual(t, cc.CampaignName, "campaignname", "") + AssertEqual(t, cc.CampaignID, "cid", "campaignID mismatch") + AssertEqual(t, cc.CreatedByID, "1", "creatd by should be 1") + AssertEqual(t, cc.CreatedByName, "spp", "created by name not match") + AssertEqual(t, cc.ModifiedByID, "1", "modified by should be 1") + AssertEqual(t, cc.ModifiedByName, "spp", "modified by name not match") + AssertEqual(t, cc.AssignedUserID, "1", "assigned user id should be 1") + AssertEqual(t, cc.AssignedUserName, "spp", "assigned user name not match") + AssertEqual(t, len(cc.TeamsIDs), 0, "") + AssertEqual(t, len(cc.TeamsNames), 0, "") + AssertEqual(t, cc.PortalUserID, "pi", "") + AssertEqual(t, cc.PortalUserName, "pu", "") + AssertEqual(t, cc.OriginalLeadID, "oid", "") + AssertEqual(t, cc.OriginalLeadName, "oname", "") + AssertEqual(t, cc.IsFollowed, true, "is followed should be true") + AssertEqual(t, cc.FollwersIDs[0], "1", "follower id should be 1") + AssertEqual(t, cc.FollowersNames["1"], "spp", "follower name should be sp") + +}