Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

180 Zeilen
6.6KB

  1. package main
  2. import "testing"
  3. import "encoding/json"
  4. func TestDecodeMeetingJson(t *testing.T) {
  5. msg := `
  6. {
  7. "id": "595d064a6e372fc1f",
  8. "name": "testmeting.",
  9. "deleted": false,
  10. "status": "Planned",
  11. "dateStart": "2017-07-05 15:30:00",
  12. "dateEnd": "2017-07-05 19:13:00",
  13. "duration": 13380,
  14. "reminders": [
  15. {
  16. "seconds": 0,
  17. "type": "Popup"
  18. },
  19. {
  20. "seconds": 18000,
  21. "type": "Email"
  22. }
  23. ],
  24. "description": "ddaadd",
  25. "createdAt": "2017-07-05 15:31:22",
  26. "modifiedAt": "2017-07-15 07:49:48",
  27. "googleCalendarEventId": null,
  28. "venue": "venue111",
  29. "parentId": "5961bfac40e1b4e69",
  30. "parentType": "Lead",
  31. "parentName": "Anonymous User 127.0.0.1:49261",
  32. "accountId": "aid",
  33. "accountName": "aname",
  34. "usersIds": [
  35. "1"
  36. ],
  37. "usersNames": {
  38. "1": "Admin"
  39. },
  40. "usersColumns": {
  41. "1": {
  42. "status": "Accepted"
  43. }
  44. },
  45. "contactsIds": [
  46. "595a292e87b0aa3a1"
  47. ],
  48. "contactsNames": {
  49. "595a292e87b0aa3a1": "test name"
  50. },
  51. "contactsColumns": {
  52. "595a292e87b0aa3a1": {
  53. "status": "None"
  54. }
  55. },
  56. "leadsIds": [
  57. "595a921c5032dbfa8",
  58. "595a920924289575a",
  59. "595a91074492662d9",
  60. "595a9105b0d8630ab",
  61. "595a91043fc61b85b",
  62. "595a9102dab66349c"
  63. ],
  64. "leadsNames": {
  65. "595a921c5032dbfa8": " \u9b54\u9053\u5b50",
  66. "595a920924289575a": " HIT",
  67. "595a91074492662d9": " yang",
  68. "595a9105b0d8630ab": " \u5b59\u8fd0\u5377\u5b50",
  69. "595a91043fc61b85b": " Iphy",
  70. "595a9102dab66349c": " \u6668\u516e"
  71. },
  72. "leadsColumns": {
  73. "595a921c5032dbfa8": {
  74. "status": "None1"
  75. },
  76. "595a920924289575a": {
  77. "status": "None2"
  78. },
  79. "595a91074492662d9": {
  80. "status": "None3"
  81. },
  82. "595a9105b0d8630ab": {
  83. "status": "None4"
  84. },
  85. "595a91043fc61b85b": {
  86. "status": "None5"
  87. },
  88. "595a9102dab66349c": {
  89. "status": "None6"
  90. }
  91. },
  92. "createdById": "1",
  93. "createdByName": "Admin",
  94. "modifiedById": "1",
  95. "modifiedByName": "Admin",
  96. "assignedUserId": "1",
  97. "assignedUserName": "Admin",
  98. "teamsIds": [
  99. "5958913a2479166db",
  100. "59589145af954bc38"
  101. ],
  102. "teamsNames": {
  103. "5958913a2479166db": "testteam1",
  104. "59589145af954bc38": "testteam2"
  105. },
  106. "googleCalendarId": null,
  107. "googleCalendarName": null,
  108. "coverId": "coverid",
  109. "coverName": "covername"
  110. }
  111. `
  112. e := crmdMeeting{}
  113. err := json.Unmarshal([]byte(msg), &e)
  114. AssertEqual(t, err, nil, "decode json should be correct")
  115. AssertEqual(t, e.ID, "595d064a6e372fc1f", "ID mismatch")
  116. AssertEqual(t, e.Name, "testmeting.", "name mismatch")
  117. AssertEqual(t, e.Deleted, false, "deleted should be false")
  118. AssertEqual(t, e.DateStart, "2017-07-05 15:30:00", "dataStart wrong")
  119. AssertEqual(t, e.DateEnd, "2017-07-05 19:13:00", "dateEnd wrong")
  120. AssertEqual(t, e.Duration, 13380, "duration should be 13380")
  121. AssertEqual(t, e.Reminders[0].Seconds, 0, "reminder[0] seconds expect 0")
  122. AssertEqual(t, e.Reminders[0].Type, "Popup", "reminder[0] type expect popup")
  123. AssertEqual(t, e.Reminders[1].Seconds, 18000, "reminder[1] seconds expect 18000")
  124. AssertEqual(t, e.Reminders[1].Type, "Email", "reminder[1] type expect email")
  125. AssertEqual(t, e.Description, "ddaadd", "description not right")
  126. AssertEqual(t, e.CreatedAt, "2017-07-05 15:31:22", "createdAt wrong")
  127. AssertEqual(t, e.ModifiedAt, "2017-07-15 07:49:48", "modifiedAt wrong")
  128. AssertEqual(t, e.Venue, "venue111", "venu should be correct")
  129. AssertEqual(t, e.ParentID, "5961bfac40e1b4e69", "parentID mismatch")
  130. AssertEqual(t, e.ParentName, "Anonymous User 127.0.0.1:49261", "parentName mismatch")
  131. AssertEqual(t, e.ParentType, "Lead", "parent type should be Lead")
  132. AssertEqual(t, e.AccountID, "aid", "accountid should be aid")
  133. AssertEqual(t, e.AccountName, "aname", "accountName should be aname")
  134. AssertEqual(t, e.UsersIds[0], "1", "usersIDs[0] should be 1")
  135. AssertEqual(t, e.UsersNames["1"], "Admin", "usersNames[1]!=Admin")
  136. AssertEqual(t, e.UsersColumns["1"].Status, "Accepted", "status should be accepted")
  137. AssertEqual(t, e.ContactsIds[0], "595a292e87b0aa3a1", "contactsids[0] wrong")
  138. AssertEqual(t, e.ContactsNames["595a292e87b0aa3a1"], "test name", "contact name wrong")
  139. AssertEqual(t, e.ContactsColumns["595a292e87b0aa3a1"].Status, "None", "contact status should be none")
  140. AssertEqual(t, e.LeadsIds[0], "595a921c5032dbfa8", "leadsIDs[0] wrong")
  141. AssertEqual(t, e.LeadsIds[1], "595a920924289575a", "leadsIDs[1] wrong")
  142. AssertEqual(t, e.LeadsIds[2], "595a91074492662d9", "leadsIDs[2] wrong")
  143. AssertEqual(t, e.LeadsIds[3], "595a9105b0d8630ab", "leadsIDs[3] wrong")
  144. AssertEqual(t, e.LeadsIds[4], "595a91043fc61b85b", "leadsIDs[4] wrong")
  145. AssertEqual(t, e.LeadsIds[5], "595a9102dab66349c", "leadsIDs[5] wrong")
  146. AssertEqual(t, e.LeadsNames["595a921c5032dbfa8"], " \u9b54\u9053\u5b50", "leads[0] name wrong")
  147. AssertEqual(t, e.LeadsNames["595a920924289575a"], " HIT", "leads[1] name wrong")
  148. AssertEqual(t, e.LeadsNames["595a91074492662d9"], " yang", "leads[2] name wrong")
  149. AssertEqual(t, e.LeadsNames["595a9105b0d8630ab"], " \u5b59\u8fd0\u5377\u5b50", "leads[3] name wrong")
  150. AssertEqual(t, e.LeadsNames["595a91043fc61b85b"], " Iphy", "leads[4] name wrong")
  151. AssertEqual(t, e.LeadsNames["595a9102dab66349c"], " \u6668\u516e", "leads[5] name wrong")
  152. AssertEqual(t, e.LeadsColumns["595a921c5032dbfa8"].Status, "None1", "")
  153. AssertEqual(t, e.LeadsColumns["595a920924289575a"].Status, "None2", "")
  154. AssertEqual(t, e.LeadsColumns["595a91074492662d9"].Status, "None3", "")
  155. AssertEqual(t, e.LeadsColumns["595a9105b0d8630ab"].Status, "None4", "")
  156. AssertEqual(t, e.LeadsColumns["595a91043fc61b85b"].Status, "None5", "")
  157. AssertEqual(t, e.LeadsColumns["595a9102dab66349c"].Status, "None6", "")
  158. AssertEqual(t, e.CreatedByID, "1", "createdBy id wrong ")
  159. AssertEqual(t, e.CreatedByName, "Admin", "createdByName")
  160. AssertEqual(t, e.ModifiedByID, "1", "modified id !=1")
  161. AssertEqual(t, e.ModifiedByName, "Admin", "modifiedByName wrong")
  162. AssertEqual(t, e.AssignedUserID, "1", "assigned userid != 1")
  163. AssertEqual(t, e.AssignedUserName, "Admin", "assigned name != Admin")
  164. AssertEqual(t, e.TeamsIDs[0], "5958913a2479166db", "team[0] wrong")
  165. AssertEqual(t, e.TeamsIDs[1], "59589145af954bc38", "team[1] wrong")
  166. AssertEqual(t, e.TeamsNames["5958913a2479166db"], "testteam1", "")
  167. AssertEqual(t, e.TeamsNames["59589145af954bc38"], "testteam2", "")
  168. AssertEqual(t, e.CoverID, "coverid", "")
  169. AssertEqual(t, e.CoverName, "covername", "")
  170. }