Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

155 lines
5.4KB

  1. package main
  2. import (
  3. "encoding/json"
  4. "testing"
  5. "time"
  6. )
  7. func TestConvertLead2Contact(t *testing.T) {
  8. //create a lead
  9. l := crmdLead{}
  10. l.FirstName = "testConvert" + time.Now().Format(getCrmTimeLayout())
  11. l.LastName = "temp lead (deletable)"
  12. l.Status = "Deletable"
  13. l.Password = "password"
  14. l.EmailAddress = "non-exit-fake@badmail.com"
  15. l.PhoneNumber = "12345678-1"
  16. l.ForceDuplicate = true
  17. jsonB, err := json.Marshal(l)
  18. AssertEqual(t, err, nil, "")
  19. entity, err := crmCreateEntity("Lead", jsonB)
  20. AssertEqual(t, err, nil, "")
  21. lead := entity.(crmdLead)
  22. AssertEqual(t, lead.ID != "", true, "")
  23. //conver to contact
  24. cc := crmdContact{}
  25. err = cc.convertFromLead(lead.ID)
  26. AssertEqual(t, err, nil, "")
  27. AssertEqual(t, cc.OriginalLeadID, lead.ID, "")
  28. AssertEqual(t, cc.FirstName, lead.FirstName, "")
  29. AssertEqual(t, cc.LastName, lead.LastName, "")
  30. AssertEqual(t, cc.EmailAddress, lead.EmailAddress, "")
  31. AssertEqual(t, cc.PhoneNumber, lead.PhoneNumber, "")
  32. //delete lead
  33. crmDeleteEntity("Lead", lead.ID)
  34. //delete contact
  35. crmDeleteEntity("Contact", cc.ID)
  36. }
  37. func TestDecodeContact(t *testing.T) {
  38. msg := `{
  39. "id": "57efb926aa6725fdd",
  40. "name": "Vincent Zhang",
  41. "deleted": false,
  42. "salutationName": "Mr.",
  43. "firstName": "Vincent",
  44. "lastName": "Zhang",
  45. "accountId": "57e3de733402c8d5f",
  46. "title": "IT Admin",
  47. "description": "somedescription",
  48. "emailAddress": "testemail@gmail.com",
  49. "phoneNumber": "12315",
  50. "doNotCall": false,
  51. "addressStreet": "street",
  52. "addressCity": "city",
  53. "addressState": "state",
  54. "addressCountry": "au",
  55. "addressPostalCode": "123",
  56. "accountType": "Customer",
  57. "createdAt": "2016-10-01 13:24:54",
  58. "modifiedAt": "2016-10-10 06:18:54",
  59. "emailAddressData": [],
  60. "phoneNumberData": [],
  61. "accountName": "Macquarie Mandarin",
  62. "accountsIds": [
  63. "57e3de733402c8d5f"
  64. ],
  65. "accountsNames": {
  66. "57e3de733402c8d5f": "Macquarie Mandarin"
  67. },
  68. "accountsColumns": {
  69. "57e3de733402c8d5f": {
  70. "role": "IT Admin"
  71. }
  72. },
  73. "campaignId": "cid",
  74. "campaignName": "campaignname",
  75. "createdById": "1",
  76. "createdByName": "spp",
  77. "modifiedById": "1",
  78. "modifiedByName": "spp",
  79. "assignedUserId": "1",
  80. "assignedUserName": "spp",
  81. "teamsIds": [],
  82. "teamsNames": {},
  83. "portalUserId": "pi",
  84. "portalUserName": "pu",
  85. "originalLeadId": "oid",
  86. "originalLeadName": "oname",
  87. "isFollowed": true,
  88. "followersIds": [
  89. "1"
  90. ],
  91. "followersNames": {
  92. "1": "spp"
  93. },
  94. "avatarId": "57fb32cd3de8755df",
  95. "avatarName": "06_vincen.jpg",
  96. "namecardId": null,
  97. "namecardName": null,
  98. "namecardbackId": null,
  99. "namecardbackName": null
  100. }`
  101. cc := crmdContact{}
  102. err := json.Unmarshal([]byte(msg), &cc)
  103. //log.Println(err)
  104. AssertEqual(t, err, nil, "decode contact should be correct")
  105. AssertEqual(t, cc.ID, "57efb926aa6725fdd", "contact ID mismatch")
  106. AssertEqual(t, cc.Name, "Vincent Zhang", "contact name mismatch")
  107. AssertEqual(t, cc.Deleted, false, "deleted should be false")
  108. AssertEqual(t, cc.SalutationName, "Mr.", "solutation should be Mr.")
  109. AssertEqual(t, cc.FirstName, "Vincent", "first name should be Vincent")
  110. AssertEqual(t, cc.LastName, "Zhang", "last name should be zhang")
  111. AssertEqual(t, cc.AccountID, "57e3de733402c8d5f", "accound id should be 57e3de733402c8d5f")
  112. AssertEqual(t, cc.Title, "IT Admin", "title should be IT Admin")
  113. AssertEqual(t, cc.Description, "somedescription", "description not right")
  114. AssertEqual(t, cc.EmailAddress, "testemail@gmail.com", "email address not right")
  115. AssertEqual(t, cc.PhoneNumber, "12315", "")
  116. AssertEqual(t, cc.DoNotCall, false, "do not call should be false ")
  117. AssertEqual(t, cc.AddressStreet, "street", "street not right")
  118. AssertEqual(t, cc.AddressCity, "city", "city not right")
  119. AssertEqual(t, cc.AddressState, "state", "state not right")
  120. AssertEqual(t, cc.AddressCountry, "au", "country mismatch")
  121. AssertEqual(t, cc.AddresPostalCode, "123", "post code not right")
  122. AssertEqual(t, cc.AccountType, "Customer", "account type shold be customer")
  123. AssertEqual(t, cc.CreatedAt, "2016-10-01 13:24:54", "")
  124. AssertEqual(t, cc.ModifiedAt, "2016-10-10 06:18:54", "")
  125. AssertEqual(t, cc.AccountName, "Macquarie Mandarin", "")
  126. AssertEqual(t, cc.AccountIDs[0], "57e3de733402c8d5f", "first account id mismatch")
  127. AssertEqual(t, cc.AccountNames["57e3de733402c8d5f"], "Macquarie Mandarin", "")
  128. AssertEqual(t, cc.AccountsColumns["57e3de733402c8d5f"].Role, "IT Admin", "")
  129. AssertEqual(t, cc.CampaignName, "campaignname", "")
  130. AssertEqual(t, cc.CampaignID, "cid", "campaignID mismatch")
  131. AssertEqual(t, cc.CreatedByID, "1", "creatd by should be 1")
  132. AssertEqual(t, cc.CreatedByName, "spp", "created by name not match")
  133. AssertEqual(t, cc.ModifiedByID, "1", "modified by should be 1")
  134. AssertEqual(t, cc.ModifiedByName, "spp", "modified by name not match")
  135. AssertEqual(t, cc.AssignedUserID, "1", "assigned user id should be 1")
  136. AssertEqual(t, cc.AssignedUserName, "spp", "assigned user name not match")
  137. AssertEqual(t, len(cc.TeamsIDs), 0, "")
  138. AssertEqual(t, len(cc.TeamsNames), 0, "")
  139. AssertEqual(t, cc.PortalUserID, "pi", "")
  140. AssertEqual(t, cc.PortalUserName, "pu", "")
  141. AssertEqual(t, cc.OriginalLeadID, "oid", "")
  142. AssertEqual(t, cc.OriginalLeadName, "oname", "")
  143. AssertEqual(t, cc.IsFollowed, true, "is followed should be true")
  144. AssertEqual(t, cc.FollwersIDs[0], "1", "follower id should be 1")
  145. AssertEqual(t, cc.FollowersNames["1"], "spp", "follower name should be sp")
  146. }