@adtrackify/at-service-common 3.1.27 → 3.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
  3. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  5. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  7. package/dist/cjs/clients/generic/cognito-client.d.ts +22 -20
  8. package/dist/cjs/clients/generic/cognito-client.js +175 -164
  9. package/dist/cjs/clients/generic/cognito-client.js.map +1 -1
  10. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  11. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  12. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  13. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  14. package/dist/cjs/clients/generic/http-client.d.ts +88 -88
  15. package/dist/cjs/clients/generic/http-client.js +60 -60
  16. package/dist/cjs/clients/generic/index.d.ts +10 -10
  17. package/dist/cjs/clients/generic/index.js +26 -26
  18. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  19. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  20. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  21. package/dist/cjs/clients/generic/location-client.js +31 -31
  22. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  23. package/dist/cjs/clients/generic/redis-client.js +128 -128
  24. package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
  25. package/dist/cjs/clients/generic/s3-client.js +110 -110
  26. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  27. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  28. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  29. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  30. package/dist/cjs/clients/index.d.ts +3 -3
  31. package/dist/cjs/clients/index.js +19 -19
  32. package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
  33. package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
  34. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +23 -23
  35. package/dist/cjs/clients/internal-api/cache-lambda-client.js +59 -59
  36. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  37. package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
  38. package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
  39. package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
  40. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  41. package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
  42. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  43. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  44. package/dist/cjs/clients/internal-api/index.d.ts +8 -8
  45. package/dist/cjs/clients/internal-api/index.js +24 -24
  46. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  47. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
  48. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
  49. package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
  50. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  51. package/dist/cjs/clients/third-party/index.js +17 -17
  52. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  53. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  54. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  55. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  56. package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
  57. package/dist/cjs/clients/third-party/shopify-client.js +150 -150
  58. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  59. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  60. package/dist/cjs/helpers/index.d.ts +5 -5
  61. package/dist/cjs/helpers/index.js +21 -21
  62. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  63. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  64. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  65. package/dist/cjs/helpers/logging-helper.js +84 -84
  66. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  67. package/dist/cjs/helpers/response-helper.js +42 -42
  68. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  69. package/dist/cjs/helpers/shopify-helper.js +28 -28
  70. package/dist/cjs/index.d.ts +5 -5
  71. package/dist/cjs/index.js +21 -21
  72. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  73. package/dist/cjs/libs/clickId-parser.js +49 -49
  74. package/dist/cjs/libs/compression.d.ts +2 -2
  75. package/dist/cjs/libs/compression.js +33 -33
  76. package/dist/cjs/libs/crypto.d.ts +1 -1
  77. package/dist/cjs/libs/crypto.js +12 -12
  78. package/dist/cjs/libs/dates.d.ts +6 -6
  79. package/dist/cjs/libs/dates.js +31 -31
  80. package/dist/cjs/libs/http-error.d.ts +21 -21
  81. package/dist/cjs/libs/http-error.js +59 -59
  82. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  83. package/dist/cjs/libs/http-status-codes.js +62 -62
  84. package/dist/cjs/libs/index.d.ts +9 -9
  85. package/dist/cjs/libs/index.js +25 -25
  86. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  87. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  88. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  89. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  90. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  91. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  92. package/dist/cjs/libs/url.d.ts +1 -1
  93. package/dist/cjs/libs/url.js +13 -13
  94. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  95. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  96. package/dist/cjs/services/cache/index.d.ts +1 -1
  97. package/dist/cjs/services/cache/index.js +17 -17
  98. package/dist/cjs/services/cache/product-cache-service.d.ts +17 -17
  99. package/dist/cjs/services/cache/product-cache-service.js +52 -52
  100. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  101. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  102. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  103. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  104. package/dist/cjs/services/db/index.d.ts +7 -7
  105. package/dist/cjs/services/db/index.js +23 -23
  106. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  107. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  108. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  109. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  110. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  111. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  112. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +9 -9
  113. package/dist/cjs/services/db/shopify-products-cache-db-service.js +64 -64
  114. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  115. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  116. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  117. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  118. package/dist/cjs/services/generic-cache-service.d.ts +8 -8
  119. package/dist/cjs/services/generic-cache-service.js +35 -30
  120. package/dist/cjs/services/generic-cache-service.js.map +1 -1
  121. package/dist/cjs/services/index.d.ts +8 -8
  122. package/dist/cjs/services/index.js +24 -24
  123. package/dist/cjs/services/ipdata-lookup-service.d.ts +17 -17
  124. package/dist/cjs/services/ipdata-lookup-service.js +71 -71
  125. package/dist/cjs/services/log-event-service.d.ts +9 -9
  126. package/dist/cjs/services/log-event-service.js +56 -56
  127. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  128. package/dist/cjs/services/metric-event-service.js +49 -49
  129. package/dist/cjs/services/shopify/index.d.ts +3 -3
  130. package/dist/cjs/services/shopify/index.js +19 -19
  131. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  132. package/dist/cjs/services/shopify/products/index.js +17 -17
  133. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  134. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +63 -63
  135. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  136. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +114 -114
  137. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  138. package/dist/cjs/services/shopify/types/index.js +17 -17
  139. package/dist/cjs/services/shopify/types/product.d.ts +114 -114
  140. package/dist/cjs/services/shopify/types/product.js +9 -9
  141. package/dist/cjs/types/api-response.d.ts +6 -6
  142. package/dist/cjs/types/api-response.js +2 -2
  143. package/dist/cjs/types/index.d.ts +2 -2
  144. package/dist/cjs/types/index.js +18 -18
  145. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  146. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  147. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  148. package/dist/cjs/types/internal-events/index.js +17 -17
  149. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  150. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  151. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  152. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  153. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  154. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  155. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  156. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  157. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  158. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  159. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  160. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  161. package/dist/esm/clients/generic/cognito-client.d.ts +22 -20
  162. package/dist/esm/clients/generic/cognito-client.js +170 -159
  163. package/dist/esm/clients/generic/cognito-client.js.map +1 -1
  164. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  165. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  166. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  167. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  168. package/dist/esm/clients/generic/http-client.d.ts +88 -88
  169. package/dist/esm/clients/generic/http-client.js +52 -52
  170. package/dist/esm/clients/generic/index.d.ts +10 -10
  171. package/dist/esm/clients/generic/index.js +10 -10
  172. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  173. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  174. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  175. package/dist/esm/clients/generic/location-client.js +27 -27
  176. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  177. package/dist/esm/clients/generic/redis-client.js +121 -121
  178. package/dist/esm/clients/generic/s3-client.d.ts +16 -16
  179. package/dist/esm/clients/generic/s3-client.js +106 -106
  180. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  181. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  182. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  183. package/dist/esm/clients/generic/sqs-client.js +32 -32
  184. package/dist/esm/clients/index.d.ts +3 -3
  185. package/dist/esm/clients/index.js +3 -3
  186. package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
  187. package/dist/esm/clients/internal-api/accounts-client.js +113 -113
  188. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +23 -23
  189. package/dist/esm/clients/internal-api/cache-lambda-client.js +55 -55
  190. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  191. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  192. package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
  193. package/dist/esm/clients/internal-api/destinations-client.js +50 -50
  194. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  195. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  196. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  197. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  198. package/dist/esm/clients/internal-api/index.d.ts +8 -8
  199. package/dist/esm/clients/internal-api/index.js +8 -8
  200. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
  201. package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
  202. package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
  203. package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
  204. package/dist/esm/clients/third-party/index.d.ts +1 -1
  205. package/dist/esm/clients/third-party/index.js +1 -1
  206. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  207. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  208. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  209. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  210. package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
  211. package/dist/esm/clients/third-party/shopify-client.js +146 -146
  212. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  213. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  214. package/dist/esm/helpers/index.d.ts +5 -5
  215. package/dist/esm/helpers/index.js +5 -5
  216. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  217. package/dist/esm/helpers/input-validation-helper.js +18 -18
  218. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  219. package/dist/esm/helpers/logging-helper.js +56 -56
  220. package/dist/esm/helpers/response-helper.d.ts +15 -15
  221. package/dist/esm/helpers/response-helper.js +36 -36
  222. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  223. package/dist/esm/helpers/shopify-helper.js +23 -23
  224. package/dist/esm/index.d.ts +5 -5
  225. package/dist/esm/index.js +5 -5
  226. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  227. package/dist/esm/libs/clickId-parser.js +45 -45
  228. package/dist/esm/libs/compression.d.ts +2 -2
  229. package/dist/esm/libs/compression.js +25 -25
  230. package/dist/esm/libs/crypto.d.ts +1 -1
  231. package/dist/esm/libs/crypto.js +5 -5
  232. package/dist/esm/libs/dates.d.ts +6 -6
  233. package/dist/esm/libs/dates.js +22 -22
  234. package/dist/esm/libs/http-error.d.ts +21 -21
  235. package/dist/esm/libs/http-error.js +55 -55
  236. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  237. package/dist/esm/libs/http-status-codes.js +59 -59
  238. package/dist/esm/libs/index.d.ts +9 -9
  239. package/dist/esm/libs/index.js +9 -9
  240. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  241. package/dist/esm/libs/referrer-parser/index.js +2 -2
  242. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  243. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  244. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  245. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  246. package/dist/esm/libs/url.d.ts +1 -1
  247. package/dist/esm/libs/url.js +9 -9
  248. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  249. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  250. package/dist/esm/services/cache/index.d.ts +1 -1
  251. package/dist/esm/services/cache/index.js +1 -1
  252. package/dist/esm/services/cache/product-cache-service.d.ts +17 -17
  253. package/dist/esm/services/cache/product-cache-service.js +44 -44
  254. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  255. package/dist/esm/services/db/destinations-db-service.js +53 -53
  256. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  257. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  258. package/dist/esm/services/db/index.d.ts +7 -7
  259. package/dist/esm/services/db/index.js +7 -7
  260. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  261. package/dist/esm/services/db/log-events-db-service.js +168 -168
  262. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  263. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  264. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  265. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  266. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +9 -9
  267. package/dist/esm/services/db/shopify-products-cache-db-service.js +60 -60
  268. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  269. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  270. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  271. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  272. package/dist/esm/services/generic-cache-service.d.ts +8 -8
  273. package/dist/esm/services/generic-cache-service.js +31 -26
  274. package/dist/esm/services/generic-cache-service.js.map +1 -1
  275. package/dist/esm/services/index.d.ts +8 -8
  276. package/dist/esm/services/index.js +8 -8
  277. package/dist/esm/services/ipdata-lookup-service.d.ts +17 -17
  278. package/dist/esm/services/ipdata-lookup-service.js +67 -67
  279. package/dist/esm/services/log-event-service.d.ts +9 -9
  280. package/dist/esm/services/log-event-service.js +52 -52
  281. package/dist/esm/services/metric-event-service.d.ts +9 -9
  282. package/dist/esm/services/metric-event-service.js +45 -45
  283. package/dist/esm/services/shopify/index.d.ts +3 -3
  284. package/dist/esm/services/shopify/index.js +3 -3
  285. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  286. package/dist/esm/services/shopify/products/index.js +1 -1
  287. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +12 -12
  288. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +59 -59
  289. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  290. package/dist/esm/services/shopify/shopify-graphql-transformer.js +111 -111
  291. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  292. package/dist/esm/services/shopify/types/index.js +1 -1
  293. package/dist/esm/services/shopify/types/product.d.ts +114 -114
  294. package/dist/esm/services/shopify/types/product.js +6 -6
  295. package/dist/esm/types/api-response.d.ts +6 -6
  296. package/dist/esm/types/api-response.js +1 -1
  297. package/dist/esm/types/index.d.ts +2 -2
  298. package/dist/esm/types/index.js +2 -2
  299. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  300. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  301. package/dist/esm/types/internal-events/index.d.ts +1 -1
  302. package/dist/esm/types/internal-events/index.js +1 -1
  303. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  304. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  305. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  306. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  307. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  308. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  309. package/package.json +1 -1
@@ -1,526 +1,526 @@
1
- import { isIdentityCacheStale } from '../../helpers/identity-cache-helper';
2
- describe('utils unit tests', () => {
3
- afterEach(() => {
4
- jest.resetModules();
5
- });
6
- it('isIdentityCacheStale - cached and incoming are same - should return true', () => {
7
- const cachedIdentity1 = {
8
- identityId: '',
9
- request: {},
10
- response: {
11
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
12
- 'traits': {
13
- 'addresses': [
14
- {
15
- 'city': 'Jeddah',
16
- 'country': 'Saudi Arabia',
17
- 'countryCode': 'SA',
18
- 'province': 'Makkah',
19
- 'provinceCode': '02'
20
- }
21
- ],
22
- 'click': {
23
- 'fbp': 'fb.2.1715603578424.5068754021',
24
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
25
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
26
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
27
- },
28
- 'version': '2'
29
- }
30
- },
31
- createdAt: '',
32
- updatedAt: '',
33
- expiresAt: 0
34
- };
35
- const incomingIdentity1 = {
36
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
37
- 'traits': {
38
- 'addresses': [
39
- {
40
- 'city': 'Jeddah',
41
- 'country': 'Saudi Arabia',
42
- 'countryCode': 'SA',
43
- 'province': 'Makkah',
44
- 'provinceCode': '02'
45
- }
46
- ],
47
- 'click': {
48
- 'fbp': 'fb.2.1715603578424.5068754021',
49
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
50
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
51
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
52
- },
53
- 'version': '2'
54
- }
55
- };
56
- const shouldUseCache1 = isIdentityCacheStale(cachedIdentity1, incomingIdentity1);
57
- expect(shouldUseCache1).toBe(false);
58
- const cachedIdentity2 = {
59
- identityId: '',
60
- request: {},
61
- response: {
62
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
63
- 'traits': {
64
- 'addresses': [
65
- {
66
- 'city': 'Jeddah',
67
- 'country': 'Saudi Arabia',
68
- 'countryCode': 'SA',
69
- 'province': 'Makkah',
70
- 'provinceCode': '02'
71
- }
72
- ],
73
- 'click': {
74
- 'fbp': 'fb.2.1715603578424.5068754021',
75
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
76
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
77
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
78
- },
79
- 'version': '2'
80
- }
81
- },
82
- createdAt: '',
83
- updatedAt: '',
84
- expiresAt: 0
85
- };
86
- const incomingIdentity2 = {
87
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
88
- 'traits': {
89
- 'emails': null,
90
- 'addresses': [
91
- {
92
- 'city': 'Jeddah',
93
- 'country': 'Saudi Arabia',
94
- 'countryCode': 'SA',
95
- 'province': 'Makkah',
96
- 'provinceCode': '02'
97
- }
98
- ],
99
- 'click': {
100
- 'fbp': 'fb.2.1715603578424.5068754021',
101
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
102
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
103
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
104
- },
105
- 'version': '2'
106
- }
107
- };
108
- const shouldUseCache2 = isIdentityCacheStale(cachedIdentity2, incomingIdentity2);
109
- expect(shouldUseCache2).toBe(false);
110
- const cachedIdentity3 = {
111
- identityId: '',
112
- request: {},
113
- response: {
114
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
115
- 'traits': {
116
- 'addresses': [
117
- {
118
- 'city': 'Jeddah',
119
- 'country': 'Saudi Arabia',
120
- 'countryCode': 'SA',
121
- 'province': 'Makkah',
122
- 'provinceCode': '02'
123
- }
124
- ],
125
- 'click': {
126
- 'fbp': 'fb.2.1715603578424.5068754021',
127
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
128
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
129
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
130
- },
131
- 'version': '2'
132
- }
133
- },
134
- createdAt: '',
135
- updatedAt: '',
136
- expiresAt: 0
137
- };
138
- const incomingIdentity3 = {
139
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
140
- 'traits': {
141
- 'emails': [undefined, null],
142
- 'addresses': [
143
- {
144
- 'city': 'Jeddah',
145
- 'country': 'Saudi Arabia',
146
- 'countryCode': 'SA',
147
- 'province': 'Makkah',
148
- 'provinceCode': '02'
149
- }
150
- ],
151
- 'click': {
152
- 'fbp': 'fb.2.1715603578424.5068754021',
153
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
154
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
155
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
156
- },
157
- 'version': '2'
158
- }
159
- };
160
- const shouldUseCache3 = isIdentityCacheStale(cachedIdentity3, incomingIdentity3);
161
- expect(shouldUseCache3).toBe(false);
162
- const cachedIdentity4 = {
163
- identityId: '',
164
- request: {},
165
- response: {
166
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
167
- 'traits': {
168
- 'emails': ['test@gmail.com'],
169
- 'addresses': [
170
- {
171
- 'city': 'Jeddah',
172
- 'country': 'Saudi Arabia',
173
- 'countryCode': 'SA',
174
- 'province': 'Makkah',
175
- 'provinceCode': '03'
176
- }
177
- ],
178
- 'click': {
179
- 'fbp': 'fb.2.1715603578424.5068754021',
180
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
181
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
182
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
183
- },
184
- 'version': '2'
185
- }
186
- },
187
- createdAt: '',
188
- updatedAt: '',
189
- expiresAt: 0
190
- };
191
- const incomingIdentity4 = {
192
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
193
- 'traits': {
194
- 'emails': ['test@gmail.com', null, undefined],
195
- 'addresses': null,
196
- 'click': {
197
- 'fbp': 'fb.2.1715603578424.5068754021',
198
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z'
199
- },
200
- 'version': '2'
201
- }
202
- };
203
- const shouldUseCache4 = isIdentityCacheStale(cachedIdentity4, incomingIdentity4);
204
- expect(shouldUseCache4).toBe(false);
205
- const cachedIdentity5 = {
206
- identityId: '',
207
- request: {},
208
- response: {
209
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
210
- 'traits': {
211
- 'addresses': [
212
- {
213
- 'city': 'Jeddah',
214
- 'country': 'Saudi Arabia',
215
- 'countryCode': 'SA',
216
- 'province': 'Makkah',
217
- 'provinceCode': '02',
218
- 'address1': 'this is test address'
219
- }
220
- ],
221
- 'click': {
222
- 'fbp': 'fb.2.1715603578424.5068754021',
223
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
224
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
225
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
226
- },
227
- 'version': '2'
228
- }
229
- },
230
- createdAt: '',
231
- updatedAt: '',
232
- expiresAt: 0
233
- };
234
- const incomingIdentity5 = {
235
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
236
- 'traits': {
237
- 'addresses': [
238
- null
239
- ],
240
- 'version': '2'
241
- }
242
- };
243
- const shouldUseCache5 = isIdentityCacheStale(cachedIdentity5, incomingIdentity5);
244
- expect(shouldUseCache5).toBe(false);
245
- const cachedIdentity6 = {
246
- identityId: '',
247
- request: {},
248
- response: {
249
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
250
- 'traits': {
251
- 'addresses': [
252
- {
253
- 'city': 'Jeddah',
254
- 'country': 'Saudi Arabia',
255
- 'countryCode': 'SA',
256
- 'province': 'Makkah',
257
- 'provinceCode': '02'
258
- }
259
- ],
260
- 'click': {
261
- 'fbp': 'fb.2.1715603578424.5068754021',
262
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
263
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
264
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
265
- },
266
- 'version': '2'
267
- }
268
- },
269
- createdAt: '',
270
- updatedAt: '',
271
- expiresAt: 0
272
- };
273
- const incomingIdentity6 = {
274
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
275
- 'traits': {
276
- 'addresses': [
277
- {
278
- 'city': 'Jeddah',
279
- 'country': 'Saudi Arabia',
280
- },
281
- null,
282
- undefined
283
- ],
284
- 'click': {
285
- 'fbp': 'fb.2.1715603578424.5068754021',
286
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z'
287
- },
288
- 'version': '2'
289
- }
290
- };
291
- const shouldUseCache6 = isIdentityCacheStale(cachedIdentity6, incomingIdentity6);
292
- expect(shouldUseCache6).toBe(false);
293
- });
294
- it('compareIdentityAndShouldUseCache - cached and incoming are not same - should return false', () => {
295
- const cachedIdentity1 = {
296
- identityId: '',
297
- request: {},
298
- response: {
299
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
300
- 'traits': {
301
- 'addresses': [
302
- {
303
- 'city': 'Jeddah',
304
- 'country': 'Saudi Arabia',
305
- 'countryCode': 'SA',
306
- 'province': 'Makkah',
307
- 'provinceCode': '02'
308
- }
309
- ],
310
- 'click': {
311
- 'fbp': 'fb.2.1715603578424.5068754021',
312
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
313
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
314
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
315
- },
316
- 'version': '2'
317
- }
318
- },
319
- createdAt: '',
320
- updatedAt: '',
321
- expiresAt: 0
322
- };
323
- const incomingIdentity1 = {
324
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
325
- 'traits': {
326
- 'emails': ['my@email.com'],
327
- 'addresses': [
328
- {
329
- 'city': 'Jeddah',
330
- 'country': 'Saudi Arabia',
331
- 'countryCode': 'SA',
332
- 'province': 'Makkah',
333
- 'provinceCode': '02'
334
- }
335
- ],
336
- 'click': {
337
- 'fbp': 'fb.2.1715603578424.5068754021',
338
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
339
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
340
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
341
- },
342
- 'version': '2'
343
- }
344
- };
345
- const shouldUseCache1 = isIdentityCacheStale(cachedIdentity1, incomingIdentity1);
346
- expect(shouldUseCache1).toBe(true);
347
- const cachedIdentity2 = {
348
- identityId: '',
349
- request: {},
350
- response: {
351
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
352
- 'traits': {
353
- 'emails': ['test@email.com', null],
354
- 'addresses': null,
355
- 'click': {
356
- 'fbp': 'fb.2.1715603578424.5068754021',
357
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
358
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
359
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
360
- },
361
- 'version': '2'
362
- }
363
- },
364
- createdAt: '',
365
- updatedAt: '',
366
- expiresAt: 0
367
- };
368
- const incomingIdentity2 = {
369
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
370
- 'traits': {
371
- 'emails': ['test@email.com', null],
372
- 'addresses': [
373
- {
374
- 'city': 'Jeddah',
375
- 'country': 'Saudi Arabia',
376
- 'countryCode': 'SA',
377
- 'province': 'Makkah',
378
- 'provinceCode': '02'
379
- }
380
- ],
381
- 'click': {
382
- 'fbp': 'fb.2.1715603578424.5068754021',
383
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
384
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
385
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
386
- },
387
- 'version': '2'
388
- }
389
- };
390
- const shouldUseCache2 = isIdentityCacheStale(cachedIdentity2, incomingIdentity2);
391
- expect(shouldUseCache2).toBe(true);
392
- const cachedIdentity3 = {
393
- identityId: '',
394
- request: {},
395
- response: {
396
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
397
- 'traits': {
398
- 'addresses': [
399
- {
400
- 'city': 'Jeddah',
401
- 'country': 'Saudi Arabia',
402
- 'countryCode': 'SA',
403
- 'province': 'Makkah',
404
- 'provinceCode': '02'
405
- }
406
- ],
407
- 'click': {
408
- 'fbp': 'fb.2.1715603578424.5068754021',
409
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
410
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
411
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
412
- 'googleClientInfos': [
413
- {
414
- 'clickId': '123343',
415
- 'id': 'my-test-id',
416
- 'sessionId': null
417
- }
418
- ]
419
- },
420
- 'version': '2'
421
- }
422
- },
423
- createdAt: '',
424
- updatedAt: '',
425
- expiresAt: 0
426
- };
427
- const incomingIdentity3 = {
428
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
429
- 'traits': {
430
- 'addresses': [
431
- {
432
- 'city': 'Jeddah',
433
- 'country': 'Saudi Arabia',
434
- 'countryCode': 'SA',
435
- 'province': 'Makkah',
436
- 'provinceCode': '02'
437
- }
438
- ],
439
- 'click': {
440
- 'fbp': 'fb.2.1715603578424.5068754021',
441
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
442
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
443
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
444
- 'googleClientInfos': [
445
- {
446
- 'clickId': '123343',
447
- 'id': 'my-test-id',
448
- 'sessionId': 'my-test-session-id'
449
- }
450
- ]
451
- },
452
- 'version': '2'
453
- }
454
- };
455
- const shouldUseCache3 = isIdentityCacheStale(cachedIdentity3, incomingIdentity3);
456
- expect(shouldUseCache3).toBe(false);
457
- const cachedIdentity4 = {
458
- identityId: '',
459
- request: {},
460
- response: {
461
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
462
- 'traits': {
463
- 'addresses': [
464
- {
465
- 'city': 'Jeddah',
466
- 'country': 'Saudi Arabia',
467
- 'countryCode': 'SA',
468
- 'province': 'Makkah',
469
- 'provinceCode': '02'
470
- }
471
- ],
472
- 'click': {
473
- 'fbp': 'fb.2.1715603578424.5068754021',
474
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
475
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
476
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
477
- 'googleClientInfos': [
478
- {
479
- 'clickId': '123343',
480
- 'id': 'my-test-id',
481
- 'sessionId': null
482
- },
483
- null
484
- ]
485
- },
486
- 'version': '2'
487
- }
488
- },
489
- createdAt: '',
490
- updatedAt: '',
491
- expiresAt: 0
492
- };
493
- const incomingIdentity4 = {
494
- 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
495
- 'traits': {
496
- 'addresses': [
497
- {
498
- 'city': 'Jeddah',
499
- 'country': 'Saudi Arabia',
500
- 'countryCode': 'SA',
501
- 'province': 'Makkah',
502
- 'provinceCode': '02'
503
- }
504
- ],
505
- 'click': {
506
- 'fbp': 'fb.2.1715603578424.5068754021',
507
- 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
508
- 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
509
- 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
510
- 'googleClientInfos': [
511
- {
512
- 'clickId': '123343',
513
- 'id': 'my-test-id',
514
- 'sessionId': 'my-test-session-id'
515
- },
516
- undefined
517
- ]
518
- },
519
- 'version': '2'
520
- }
521
- };
522
- const shouldUseCache4 = isIdentityCacheStale(cachedIdentity4, incomingIdentity4);
523
- expect(shouldUseCache4).toBe(false);
524
- });
525
- });
1
+ import { isIdentityCacheStale } from '../../helpers/identity-cache-helper';
2
+ describe('utils unit tests', () => {
3
+ afterEach(() => {
4
+ jest.resetModules();
5
+ });
6
+ it('isIdentityCacheStale - cached and incoming are same - should return true', () => {
7
+ const cachedIdentity1 = {
8
+ identityId: '',
9
+ request: {},
10
+ response: {
11
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
12
+ 'traits': {
13
+ 'addresses': [
14
+ {
15
+ 'city': 'Jeddah',
16
+ 'country': 'Saudi Arabia',
17
+ 'countryCode': 'SA',
18
+ 'province': 'Makkah',
19
+ 'provinceCode': '02'
20
+ }
21
+ ],
22
+ 'click': {
23
+ 'fbp': 'fb.2.1715603578424.5068754021',
24
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
25
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
26
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
27
+ },
28
+ 'version': '2'
29
+ }
30
+ },
31
+ createdAt: '',
32
+ updatedAt: '',
33
+ expiresAt: 0
34
+ };
35
+ const incomingIdentity1 = {
36
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
37
+ 'traits': {
38
+ 'addresses': [
39
+ {
40
+ 'city': 'Jeddah',
41
+ 'country': 'Saudi Arabia',
42
+ 'countryCode': 'SA',
43
+ 'province': 'Makkah',
44
+ 'provinceCode': '02'
45
+ }
46
+ ],
47
+ 'click': {
48
+ 'fbp': 'fb.2.1715603578424.5068754021',
49
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
50
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
51
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
52
+ },
53
+ 'version': '2'
54
+ }
55
+ };
56
+ const shouldUseCache1 = isIdentityCacheStale(cachedIdentity1, incomingIdentity1);
57
+ expect(shouldUseCache1).toBe(false);
58
+ const cachedIdentity2 = {
59
+ identityId: '',
60
+ request: {},
61
+ response: {
62
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
63
+ 'traits': {
64
+ 'addresses': [
65
+ {
66
+ 'city': 'Jeddah',
67
+ 'country': 'Saudi Arabia',
68
+ 'countryCode': 'SA',
69
+ 'province': 'Makkah',
70
+ 'provinceCode': '02'
71
+ }
72
+ ],
73
+ 'click': {
74
+ 'fbp': 'fb.2.1715603578424.5068754021',
75
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
76
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
77
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
78
+ },
79
+ 'version': '2'
80
+ }
81
+ },
82
+ createdAt: '',
83
+ updatedAt: '',
84
+ expiresAt: 0
85
+ };
86
+ const incomingIdentity2 = {
87
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
88
+ 'traits': {
89
+ 'emails': null,
90
+ 'addresses': [
91
+ {
92
+ 'city': 'Jeddah',
93
+ 'country': 'Saudi Arabia',
94
+ 'countryCode': 'SA',
95
+ 'province': 'Makkah',
96
+ 'provinceCode': '02'
97
+ }
98
+ ],
99
+ 'click': {
100
+ 'fbp': 'fb.2.1715603578424.5068754021',
101
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
102
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
103
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
104
+ },
105
+ 'version': '2'
106
+ }
107
+ };
108
+ const shouldUseCache2 = isIdentityCacheStale(cachedIdentity2, incomingIdentity2);
109
+ expect(shouldUseCache2).toBe(false);
110
+ const cachedIdentity3 = {
111
+ identityId: '',
112
+ request: {},
113
+ response: {
114
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
115
+ 'traits': {
116
+ 'addresses': [
117
+ {
118
+ 'city': 'Jeddah',
119
+ 'country': 'Saudi Arabia',
120
+ 'countryCode': 'SA',
121
+ 'province': 'Makkah',
122
+ 'provinceCode': '02'
123
+ }
124
+ ],
125
+ 'click': {
126
+ 'fbp': 'fb.2.1715603578424.5068754021',
127
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
128
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
129
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
130
+ },
131
+ 'version': '2'
132
+ }
133
+ },
134
+ createdAt: '',
135
+ updatedAt: '',
136
+ expiresAt: 0
137
+ };
138
+ const incomingIdentity3 = {
139
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
140
+ 'traits': {
141
+ 'emails': [undefined, null],
142
+ 'addresses': [
143
+ {
144
+ 'city': 'Jeddah',
145
+ 'country': 'Saudi Arabia',
146
+ 'countryCode': 'SA',
147
+ 'province': 'Makkah',
148
+ 'provinceCode': '02'
149
+ }
150
+ ],
151
+ 'click': {
152
+ 'fbp': 'fb.2.1715603578424.5068754021',
153
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
154
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
155
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
156
+ },
157
+ 'version': '2'
158
+ }
159
+ };
160
+ const shouldUseCache3 = isIdentityCacheStale(cachedIdentity3, incomingIdentity3);
161
+ expect(shouldUseCache3).toBe(false);
162
+ const cachedIdentity4 = {
163
+ identityId: '',
164
+ request: {},
165
+ response: {
166
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
167
+ 'traits': {
168
+ 'emails': ['test@gmail.com'],
169
+ 'addresses': [
170
+ {
171
+ 'city': 'Jeddah',
172
+ 'country': 'Saudi Arabia',
173
+ 'countryCode': 'SA',
174
+ 'province': 'Makkah',
175
+ 'provinceCode': '03'
176
+ }
177
+ ],
178
+ 'click': {
179
+ 'fbp': 'fb.2.1715603578424.5068754021',
180
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
181
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
182
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
183
+ },
184
+ 'version': '2'
185
+ }
186
+ },
187
+ createdAt: '',
188
+ updatedAt: '',
189
+ expiresAt: 0
190
+ };
191
+ const incomingIdentity4 = {
192
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
193
+ 'traits': {
194
+ 'emails': ['test@gmail.com', null, undefined],
195
+ 'addresses': null,
196
+ 'click': {
197
+ 'fbp': 'fb.2.1715603578424.5068754021',
198
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z'
199
+ },
200
+ 'version': '2'
201
+ }
202
+ };
203
+ const shouldUseCache4 = isIdentityCacheStale(cachedIdentity4, incomingIdentity4);
204
+ expect(shouldUseCache4).toBe(false);
205
+ const cachedIdentity5 = {
206
+ identityId: '',
207
+ request: {},
208
+ response: {
209
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
210
+ 'traits': {
211
+ 'addresses': [
212
+ {
213
+ 'city': 'Jeddah',
214
+ 'country': 'Saudi Arabia',
215
+ 'countryCode': 'SA',
216
+ 'province': 'Makkah',
217
+ 'provinceCode': '02',
218
+ 'address1': 'this is test address'
219
+ }
220
+ ],
221
+ 'click': {
222
+ 'fbp': 'fb.2.1715603578424.5068754021',
223
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
224
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
225
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
226
+ },
227
+ 'version': '2'
228
+ }
229
+ },
230
+ createdAt: '',
231
+ updatedAt: '',
232
+ expiresAt: 0
233
+ };
234
+ const incomingIdentity5 = {
235
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
236
+ 'traits': {
237
+ 'addresses': [
238
+ null
239
+ ],
240
+ 'version': '2'
241
+ }
242
+ };
243
+ const shouldUseCache5 = isIdentityCacheStale(cachedIdentity5, incomingIdentity5);
244
+ expect(shouldUseCache5).toBe(false);
245
+ const cachedIdentity6 = {
246
+ identityId: '',
247
+ request: {},
248
+ response: {
249
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
250
+ 'traits': {
251
+ 'addresses': [
252
+ {
253
+ 'city': 'Jeddah',
254
+ 'country': 'Saudi Arabia',
255
+ 'countryCode': 'SA',
256
+ 'province': 'Makkah',
257
+ 'provinceCode': '02'
258
+ }
259
+ ],
260
+ 'click': {
261
+ 'fbp': 'fb.2.1715603578424.5068754021',
262
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
263
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
264
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
265
+ },
266
+ 'version': '2'
267
+ }
268
+ },
269
+ createdAt: '',
270
+ updatedAt: '',
271
+ expiresAt: 0
272
+ };
273
+ const incomingIdentity6 = {
274
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
275
+ 'traits': {
276
+ 'addresses': [
277
+ {
278
+ 'city': 'Jeddah',
279
+ 'country': 'Saudi Arabia',
280
+ },
281
+ null,
282
+ undefined
283
+ ],
284
+ 'click': {
285
+ 'fbp': 'fb.2.1715603578424.5068754021',
286
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z'
287
+ },
288
+ 'version': '2'
289
+ }
290
+ };
291
+ const shouldUseCache6 = isIdentityCacheStale(cachedIdentity6, incomingIdentity6);
292
+ expect(shouldUseCache6).toBe(false);
293
+ });
294
+ it('compareIdentityAndShouldUseCache - cached and incoming are not same - should return false', () => {
295
+ const cachedIdentity1 = {
296
+ identityId: '',
297
+ request: {},
298
+ response: {
299
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
300
+ 'traits': {
301
+ 'addresses': [
302
+ {
303
+ 'city': 'Jeddah',
304
+ 'country': 'Saudi Arabia',
305
+ 'countryCode': 'SA',
306
+ 'province': 'Makkah',
307
+ 'provinceCode': '02'
308
+ }
309
+ ],
310
+ 'click': {
311
+ 'fbp': 'fb.2.1715603578424.5068754021',
312
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
313
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
314
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
315
+ },
316
+ 'version': '2'
317
+ }
318
+ },
319
+ createdAt: '',
320
+ updatedAt: '',
321
+ expiresAt: 0
322
+ };
323
+ const incomingIdentity1 = {
324
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
325
+ 'traits': {
326
+ 'emails': ['my@email.com'],
327
+ 'addresses': [
328
+ {
329
+ 'city': 'Jeddah',
330
+ 'country': 'Saudi Arabia',
331
+ 'countryCode': 'SA',
332
+ 'province': 'Makkah',
333
+ 'provinceCode': '02'
334
+ }
335
+ ],
336
+ 'click': {
337
+ 'fbp': 'fb.2.1715603578424.5068754021',
338
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
339
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
340
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
341
+ },
342
+ 'version': '2'
343
+ }
344
+ };
345
+ const shouldUseCache1 = isIdentityCacheStale(cachedIdentity1, incomingIdentity1);
346
+ expect(shouldUseCache1).toBe(true);
347
+ const cachedIdentity2 = {
348
+ identityId: '',
349
+ request: {},
350
+ response: {
351
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
352
+ 'traits': {
353
+ 'emails': ['test@email.com', null],
354
+ 'addresses': null,
355
+ 'click': {
356
+ 'fbp': 'fb.2.1715603578424.5068754021',
357
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
358
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
359
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
360
+ },
361
+ 'version': '2'
362
+ }
363
+ },
364
+ createdAt: '',
365
+ updatedAt: '',
366
+ expiresAt: 0
367
+ };
368
+ const incomingIdentity2 = {
369
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
370
+ 'traits': {
371
+ 'emails': ['test@email.com', null],
372
+ 'addresses': [
373
+ {
374
+ 'city': 'Jeddah',
375
+ 'country': 'Saudi Arabia',
376
+ 'countryCode': 'SA',
377
+ 'province': 'Makkah',
378
+ 'provinceCode': '02'
379
+ }
380
+ ],
381
+ 'click': {
382
+ 'fbp': 'fb.2.1715603578424.5068754021',
383
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
384
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
385
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z'
386
+ },
387
+ 'version': '2'
388
+ }
389
+ };
390
+ const shouldUseCache2 = isIdentityCacheStale(cachedIdentity2, incomingIdentity2);
391
+ expect(shouldUseCache2).toBe(true);
392
+ const cachedIdentity3 = {
393
+ identityId: '',
394
+ request: {},
395
+ response: {
396
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
397
+ 'traits': {
398
+ 'addresses': [
399
+ {
400
+ 'city': 'Jeddah',
401
+ 'country': 'Saudi Arabia',
402
+ 'countryCode': 'SA',
403
+ 'province': 'Makkah',
404
+ 'provinceCode': '02'
405
+ }
406
+ ],
407
+ 'click': {
408
+ 'fbp': 'fb.2.1715603578424.5068754021',
409
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
410
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
411
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
412
+ 'googleClientInfos': [
413
+ {
414
+ 'clickId': '123343',
415
+ 'id': 'my-test-id',
416
+ 'sessionId': null
417
+ }
418
+ ]
419
+ },
420
+ 'version': '2'
421
+ }
422
+ },
423
+ createdAt: '',
424
+ updatedAt: '',
425
+ expiresAt: 0
426
+ };
427
+ const incomingIdentity3 = {
428
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
429
+ 'traits': {
430
+ 'addresses': [
431
+ {
432
+ 'city': 'Jeddah',
433
+ 'country': 'Saudi Arabia',
434
+ 'countryCode': 'SA',
435
+ 'province': 'Makkah',
436
+ 'provinceCode': '02'
437
+ }
438
+ ],
439
+ 'click': {
440
+ 'fbp': 'fb.2.1715603578424.5068754021',
441
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
442
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
443
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
444
+ 'googleClientInfos': [
445
+ {
446
+ 'clickId': '123343',
447
+ 'id': 'my-test-id',
448
+ 'sessionId': 'my-test-session-id'
449
+ }
450
+ ]
451
+ },
452
+ 'version': '2'
453
+ }
454
+ };
455
+ const shouldUseCache3 = isIdentityCacheStale(cachedIdentity3, incomingIdentity3);
456
+ expect(shouldUseCache3).toBe(false);
457
+ const cachedIdentity4 = {
458
+ identityId: '',
459
+ request: {},
460
+ response: {
461
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
462
+ 'traits': {
463
+ 'addresses': [
464
+ {
465
+ 'city': 'Jeddah',
466
+ 'country': 'Saudi Arabia',
467
+ 'countryCode': 'SA',
468
+ 'province': 'Makkah',
469
+ 'provinceCode': '02'
470
+ }
471
+ ],
472
+ 'click': {
473
+ 'fbp': 'fb.2.1715603578424.5068754021',
474
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
475
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
476
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
477
+ 'googleClientInfos': [
478
+ {
479
+ 'clickId': '123343',
480
+ 'id': 'my-test-id',
481
+ 'sessionId': null
482
+ },
483
+ null
484
+ ]
485
+ },
486
+ 'version': '2'
487
+ }
488
+ },
489
+ createdAt: '',
490
+ updatedAt: '',
491
+ expiresAt: 0
492
+ };
493
+ const incomingIdentity4 = {
494
+ 'identityId': '01HXRZ27H4TXWBBTRK09Q7APDP',
495
+ 'traits': {
496
+ 'addresses': [
497
+ {
498
+ 'city': 'Jeddah',
499
+ 'country': 'Saudi Arabia',
500
+ 'countryCode': 'SA',
501
+ 'province': 'Makkah',
502
+ 'provinceCode': '02'
503
+ }
504
+ ],
505
+ 'click': {
506
+ 'fbp': 'fb.2.1715603578424.5068754021',
507
+ 'fbpCollectedAt': '2024-05-13T12:32:58.424Z',
508
+ 'gclid': 'EAIaIQobChMI6PeqoNGKhgMVfwYGAB2iewRoEAAYASAAEgKoivD_BwE',
509
+ 'gclidCollectedAt': '2024-05-13T12:32:58.431Z',
510
+ 'googleClientInfos': [
511
+ {
512
+ 'clickId': '123343',
513
+ 'id': 'my-test-id',
514
+ 'sessionId': 'my-test-session-id'
515
+ },
516
+ undefined
517
+ ]
518
+ },
519
+ 'version': '2'
520
+ }
521
+ };
522
+ const shouldUseCache4 = isIdentityCacheStale(cachedIdentity4, incomingIdentity4);
523
+ expect(shouldUseCache4).toBe(false);
524
+ });
525
+ });
526
526
  //# sourceMappingURL=identity-cache-db-service.spec.js.map