@isoftdata/ebay-utility 1.0.0 → 1.2.1

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 (307) hide show
  1. package/lib/adapters/AdapterResult.d.ts +3 -0
  2. package/lib/adapters/AdapterResult.d.ts.map +1 -1
  3. package/lib/adapters/AdapterResult.js +2 -1
  4. package/lib/adapters/AdapterResult.js.map +1 -1
  5. package/lib/adapters/AdapterToUseCaseConverter.js +20 -20
  6. package/lib/adapters/AdapterToUseCaseConverter.js.map +1 -1
  7. package/lib/adapters/ebay/EbayAdapter.d.ts +7 -4
  8. package/lib/adapters/ebay/EbayAdapter.d.ts.map +1 -1
  9. package/lib/adapters/ebay/EbayAdapter.js +108 -16
  10. package/lib/adapters/ebay/EbayAdapter.js.map +1 -1
  11. package/lib/adapters/ebay/WebEbayAdapter.d.ts +64 -0
  12. package/lib/adapters/ebay/WebEbayAdapter.d.ts.map +1 -0
  13. package/lib/adapters/ebay/WebEbayAdapter.js +473 -0
  14. package/lib/adapters/ebay/WebEbayAdapter.js.map +1 -0
  15. package/lib/adapters/itrack/ItrackAdapter.d.ts +8 -18
  16. package/lib/adapters/itrack/ItrackAdapter.d.ts.map +1 -1
  17. package/lib/adapters/itrack/ItrackAdapter.js +104 -41
  18. package/lib/adapters/itrack/ItrackAdapter.js.map +1 -1
  19. package/lib/entities/ebay/FulfillmentPolicy.d.ts +0 -5
  20. package/lib/entities/ebay/FulfillmentPolicy.d.ts.map +1 -1
  21. package/lib/entities/ebay/PackageWeightAndSize.d.ts +4 -4
  22. package/lib/entities/ebay/PaymentPolicy.d.ts +0 -5
  23. package/lib/entities/ebay/PaymentPolicy.d.ts.map +1 -1
  24. package/lib/entities/ebay/ReturnPolicy.d.ts +0 -5
  25. package/lib/entities/ebay/ReturnPolicy.d.ts.map +1 -1
  26. package/lib/entities/itrack/ItrackEbayPolicy.d.ts +14 -0
  27. package/lib/entities/itrack/ItrackEbayPolicy.d.ts.map +1 -0
  28. package/lib/entities/itrack/ItrackEbayPolicy.js +2 -0
  29. package/lib/entities/itrack/ItrackEbayPolicy.js.map +1 -0
  30. package/lib/index.d.ts +7 -0
  31. package/lib/index.d.ts.map +1 -1
  32. package/lib/index.js +8 -0
  33. package/lib/index.js.map +1 -1
  34. package/lib/infrastructure/EbayOAuthManager.d.ts +99 -0
  35. package/lib/infrastructure/EbayOAuthManager.d.ts.map +1 -0
  36. package/lib/infrastructure/EbayOAuthManager.js +337 -0
  37. package/lib/infrastructure/EbayOAuthManager.js.map +1 -0
  38. package/lib/infrastructure/HttpToRepoConverter.d.ts +1 -0
  39. package/lib/infrastructure/HttpToRepoConverter.d.ts.map +1 -1
  40. package/lib/infrastructure/HttpToRepoConverter.js +4 -1
  41. package/lib/infrastructure/HttpToRepoConverter.js.map +1 -1
  42. package/lib/infrastructure/TokenManager.d.ts +0 -2
  43. package/lib/infrastructure/TokenManager.d.ts.map +1 -1
  44. package/lib/infrastructure/TokenManager.js +19 -42
  45. package/lib/infrastructure/TokenManager.js.map +1 -1
  46. package/lib/infrastructure/http.d.ts +1 -0
  47. package/lib/infrastructure/http.d.ts.map +1 -1
  48. package/lib/infrastructure/http.js +10 -2
  49. package/lib/infrastructure/http.js.map +1 -1
  50. package/lib/infrastructure/httpMultipart.d.ts.map +1 -1
  51. package/lib/infrastructure/httpMultipart.js +2 -1
  52. package/lib/infrastructure/httpMultipart.js.map +1 -1
  53. package/lib/ports/EbayInterface.d.ts +12 -11
  54. package/lib/ports/EbayInterface.d.ts.map +1 -1
  55. package/lib/repositories/EbayProductionRefreshTokenRepo.d.ts +5 -0
  56. package/lib/repositories/EbayProductionRefreshTokenRepo.d.ts.map +1 -0
  57. package/lib/repositories/EbayProductionRefreshTokenRepo.js +8 -0
  58. package/lib/repositories/EbayProductionRefreshTokenRepo.js.map +1 -0
  59. package/lib/repositories/ebay/BaseRepo.d.ts +2 -2
  60. package/lib/repositories/ebay/BaseRepo.d.ts.map +1 -1
  61. package/lib/repositories/ebay/FulfillmentPolicyRepo.d.ts +7 -2
  62. package/lib/repositories/ebay/FulfillmentPolicyRepo.d.ts.map +1 -1
  63. package/lib/repositories/ebay/FulfillmentPolicyRepo.js.map +1 -1
  64. package/lib/repositories/ebay/PaymentPolicyRepo.d.ts +7 -2
  65. package/lib/repositories/ebay/PaymentPolicyRepo.d.ts.map +1 -1
  66. package/lib/repositories/ebay/PaymentPolicyRepo.js.map +1 -1
  67. package/lib/repositories/ebay/ReturnPolicyRepo.d.ts +7 -2
  68. package/lib/repositories/ebay/ReturnPolicyRepo.d.ts.map +1 -1
  69. package/lib/repositories/ebay/ReturnPolicyRepo.js.map +1 -1
  70. package/lib/repositories/itrack/ItrackEbayPolicyRepo.d.ts +10 -0
  71. package/lib/repositories/itrack/ItrackEbayPolicyRepo.d.ts.map +1 -0
  72. package/lib/repositories/itrack/ItrackEbayPolicyRepo.js +30 -0
  73. package/lib/repositories/itrack/ItrackEbayPolicyRepo.js.map +1 -0
  74. package/lib/types/UseCaseResult.d.ts +12 -12
  75. package/lib/types/UseCaseResult.d.ts.map +1 -1
  76. package/lib/types/UseCaseResult.js +13 -13
  77. package/lib/types/UseCaseResult.js.map +1 -1
  78. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.d.ts +1 -1
  79. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.d.ts.map +1 -1
  80. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.js +8 -2
  81. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromEbay.js.map +1 -1
  82. package/lib/usecases/FulfillmentPolicy/{SyncFulfillmentPolicy.d.ts → SyncFulfillmentPolicies.d.ts} +3 -2
  83. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.d.ts.map +1 -0
  84. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.js +60 -0
  85. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicies.js.map +1 -0
  86. package/lib/usecases/FulfillmentPolicy/integration.test.d.ts +1 -1
  87. package/lib/usecases/FulfillmentPolicy/integration.test.d.ts.map +1 -1
  88. package/lib/usecases/FulfillmentPolicy/integration.test.js +13 -34
  89. package/lib/usecases/FulfillmentPolicy/integration.test.js.map +1 -1
  90. package/lib/usecases/Images/GetImageFromProduct.js +3 -3
  91. package/lib/usecases/Images/GetImageFromProduct.js.map +1 -1
  92. package/lib/usecases/Images/PushImageToEbay.js +4 -4
  93. package/lib/usecases/Images/PushImageToEbay.js.map +1 -1
  94. package/lib/usecases/Images/SyncImageToEbay.js +5 -5
  95. package/lib/usecases/Images/SyncImageToEbay.js.map +1 -1
  96. package/lib/usecases/Images/SyncMultipleImagesToEbay.js +3 -3
  97. package/lib/usecases/Images/SyncMultipleImagesToEbay.js.map +1 -1
  98. package/lib/usecases/Inventory/PushInventorySkuToEbay.js +4 -4
  99. package/lib/usecases/Inventory/PushInventorySkuToEbay.js.map +1 -1
  100. package/lib/usecases/Inventory/SyncInventoryToEbay.js +2 -2
  101. package/lib/usecases/Inventory/SyncInventoryToEbay.js.map +1 -1
  102. package/lib/usecases/Location/GetInventoryLocationsFromEbay.d.ts +1 -1
  103. package/lib/usecases/Location/WebGetInventoryLocations.d.ts +98 -0
  104. package/lib/usecases/Location/WebGetInventoryLocations.d.ts.map +1 -0
  105. package/lib/usecases/Location/WebGetInventoryLocations.js +116 -0
  106. package/lib/usecases/Location/WebGetInventoryLocations.js.map +1 -0
  107. package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.js → ConvertItrackListingToEbayInventoryAndOffer.js} +3 -3
  108. package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.js.map → ConvertItrackListingToEbayInventoryAndOffer.js.map} +1 -1
  109. package/lib/usecases/Offer/GetEbayDefaultsFromProduct.d.ts.map +1 -1
  110. package/lib/usecases/Offer/GetEbayDefaultsFromProduct.js +3 -3
  111. package/lib/usecases/Offer/GetEbayDefaultsFromProduct.js.map +1 -1
  112. package/lib/usecases/Offer/PublishEbayOffer.js +4 -4
  113. package/lib/usecases/Offer/PublishEbayOffer.js.map +1 -1
  114. package/lib/usecases/Offer/PushEbayOffer.js +6 -6
  115. package/lib/usecases/Offer/PushEbayOffer.js.map +1 -1
  116. package/lib/usecases/Offer/SyncEbayInventoryAndOffer.js +5 -5
  117. package/lib/usecases/Offer/SyncEbayInventoryAndOffer.js.map +1 -1
  118. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromEbay.d.ts +1 -1
  119. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromEbay.d.ts.map +1 -1
  120. package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.d.ts +2 -1
  121. package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.d.ts.map +1 -1
  122. package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.js +39 -22
  123. package/lib/usecases/PaymentPolicy/SyncPaymentPoliciesFromEbay.js.map +1 -1
  124. package/lib/usecases/PaymentPolicy/integration.test.d.ts +2 -0
  125. package/lib/usecases/PaymentPolicy/integration.test.d.ts.map +1 -0
  126. package/lib/usecases/PaymentPolicy/integration.test.js +31 -0
  127. package/lib/usecases/PaymentPolicy/integration.test.js.map +1 -0
  128. package/lib/usecases/Policy/WebGetEbayPolicies.d.ts +236 -0
  129. package/lib/usecases/Policy/WebGetEbayPolicies.d.ts.map +1 -0
  130. package/lib/usecases/Policy/WebGetEbayPolicies.js +374 -0
  131. package/lib/usecases/Policy/WebGetEbayPolicies.js.map +1 -0
  132. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.d.ts +1 -1
  133. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.d.ts.map +1 -1
  134. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.js +13 -3
  135. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromEbay.js.map +1 -1
  136. package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.d.ts +2 -1
  137. package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.d.ts.map +1 -1
  138. package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.js +44 -24
  139. package/lib/usecases/ReturnPolicy/SyncReturnPoliciesFromEbay.js.map +1 -1
  140. package/lib/usecases/ReturnPolicy/integration.test.d.ts +1 -1
  141. package/lib/usecases/ReturnPolicy/integration.test.d.ts.map +1 -1
  142. package/lib/usecases/ReturnPolicy/integration.test.js +13 -38
  143. package/lib/usecases/ReturnPolicy/integration.test.js.map +1 -1
  144. package/package.json +59 -56
  145. package/lib/entities/itrack/FulfillmentPolicy.d.ts +0 -10
  146. package/lib/entities/itrack/FulfillmentPolicy.d.ts.map +0 -1
  147. package/lib/entities/itrack/FulfillmentPolicy.js +0 -2
  148. package/lib/entities/itrack/FulfillmentPolicy.js.map +0 -1
  149. package/lib/entities/itrack/ItrackEbayInventoryItem.js +0 -25
  150. package/lib/entities/itrack/ItrackEbayInventoryItem.js.map +0 -1
  151. package/lib/entities/itrack/ItrackEbayListing.d.ts +0 -45
  152. package/lib/entities/itrack/ItrackEbayListing.d.ts.map +0 -1
  153. package/lib/entities/itrack/ItrackEbayListing.js +0 -25
  154. package/lib/entities/itrack/ItrackEbayListing.js.map +0 -1
  155. package/lib/entities/itrack/PaymentPolicy.d.ts +0 -10
  156. package/lib/entities/itrack/PaymentPolicy.d.ts.map +0 -1
  157. package/lib/entities/itrack/PaymentPolicy.js +0 -2
  158. package/lib/entities/itrack/PaymentPolicy.js.map +0 -1
  159. package/lib/entities/itrack/ReturnPolicy.d.ts +0 -10
  160. package/lib/entities/itrack/ReturnPolicy.d.ts.map +0 -1
  161. package/lib/entities/itrack/ReturnPolicy.js +0 -2
  162. package/lib/entities/itrack/ReturnPolicy.js.map +0 -1
  163. package/lib/repositories/itrack/EbayInventoryItemRowRepo.d.ts +0 -27
  164. package/lib/repositories/itrack/EbayInventoryItemRowRepo.d.ts.map +0 -1
  165. package/lib/repositories/itrack/EbayInventoryItemRowRepo.js +0 -2
  166. package/lib/repositories/itrack/EbayInventoryItemRowRepo.js.map +0 -1
  167. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts +0 -11
  168. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.d.ts.map +0 -1
  169. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js +0 -35
  170. package/lib/repositories/itrack/ItrackEbayFulfillmentPolicyRepo.js.map +0 -1
  171. package/lib/repositories/itrack/ItrackEbayInventoryItemRepo.js +0 -75
  172. package/lib/repositories/itrack/ItrackEbayInventoryItemRepo.js.map +0 -1
  173. package/lib/repositories/itrack/ItrackEbayListingRepo.d.ts +0 -8
  174. package/lib/repositories/itrack/ItrackEbayListingRepo.d.ts.map +0 -1
  175. package/lib/repositories/itrack/ItrackEbayListingRepo.js +0 -66
  176. package/lib/repositories/itrack/ItrackEbayListingRepo.js.map +0 -1
  177. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts +0 -11
  178. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.d.ts.map +0 -1
  179. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js +0 -35
  180. package/lib/repositories/itrack/ItrackEbayPaymentPolicyRepo.js.map +0 -1
  181. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts +0 -11
  182. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.d.ts.map +0 -1
  183. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js +0 -34
  184. package/lib/repositories/itrack/ItrackEbayReturnPolicyRepo.js.map +0 -1
  185. package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.d.ts +0 -11
  186. package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.d.ts.map +0 -1
  187. package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.js +0 -35
  188. package/lib/repositories/itrack/ItrackFulfillmentPolicyRepo.js.map +0 -1
  189. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.d.ts +0 -11
  190. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.d.ts.map +0 -1
  191. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js +0 -35
  192. package/lib/repositories/itrack/ItrackPaymentPolicyRepo.js.map +0 -1
  193. package/lib/repositories/itrack/ItrackReturnPolicyRepo.d.ts +0 -11
  194. package/lib/repositories/itrack/ItrackReturnPolicyRepo.d.ts.map +0 -1
  195. package/lib/repositories/itrack/ItrackReturnPolicyRepo.js +0 -34
  196. package/lib/repositories/itrack/ItrackReturnPolicyRepo.js.map +0 -1
  197. package/lib/tests/processImageUrlTest.d.ts +0 -29
  198. package/lib/tests/processImageUrlTest.d.ts.map +0 -1
  199. package/lib/tests/processImageUrlTest.js +0 -402
  200. package/lib/tests/processImageUrlTest.js.map +0 -1
  201. package/lib/tests/test.d.ts +0 -2
  202. package/lib/tests/test.d.ts.map +0 -1
  203. package/lib/tests/test.js +0 -130
  204. package/lib/tests/test.js.map +0 -1
  205. package/lib/tests/tests.js +0 -130
  206. package/lib/tests/tests.js.map +0 -1
  207. package/lib/types/UseCaseResult.examples.d.ts +0 -42
  208. package/lib/types/UseCaseResult.examples.d.ts.map +0 -1
  209. package/lib/types/UseCaseResult.examples.js +0 -168
  210. package/lib/types/UseCaseResult.examples.js.map +0 -1
  211. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts +0 -7
  212. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.d.ts.map +0 -1
  213. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js +0 -5
  214. package/lib/usecases/FulfillmentPolicy/AddFulfillmentPolicyToItrack.js.map +0 -1
  215. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts +0 -6
  216. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.d.ts.map +0 -1
  217. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js +0 -5
  218. package/lib/usecases/FulfillmentPolicy/GetFulfillmentPoliciesFromItrack.js.map +0 -1
  219. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts +0 -7
  220. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.d.ts.map +0 -1
  221. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js +0 -5
  222. package/lib/usecases/FulfillmentPolicy/RemoveFulfillmentPolicyFromItrack.js.map +0 -1
  223. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.d.ts.map +0 -1
  224. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js +0 -35
  225. package/lib/usecases/FulfillmentPolicy/SyncFulfillmentPolicy.js.map +0 -1
  226. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts +0 -7
  227. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.d.ts.map +0 -1
  228. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js +0 -5
  229. package/lib/usecases/FulfillmentPolicy/UpdateFulfillmentPolicyFromItrack.js.map +0 -1
  230. package/lib/usecases/Inventory/ConvertInventoryItemToSku.js +0 -54
  231. package/lib/usecases/Inventory/ConvertInventoryItemToSku.js.map +0 -1
  232. package/lib/usecases/Listing/GetListingFromProduct.js +0 -15
  233. package/lib/usecases/Listing/GetListingFromProduct.js.map +0 -1
  234. package/lib/usecases/Listing/PushListingToEbay.js +0 -31
  235. package/lib/usecases/Listing/PushListingToEbay.js.map +0 -1
  236. package/lib/usecases/Listing/SyncListing.js +0 -182
  237. package/lib/usecases/Listing/SyncListing.js.map +0 -1
  238. package/lib/usecases/Listing_old/GetListingFromProduct.d.ts +0 -8
  239. package/lib/usecases/Listing_old/GetListingFromProduct.d.ts.map +0 -1
  240. package/lib/usecases/Listing_old/GetListingFromProduct.js +0 -6
  241. package/lib/usecases/Listing_old/GetListingFromProduct.js.map +0 -1
  242. package/lib/usecases/Listing_old/PushListingToEbay.d.ts +0 -16
  243. package/lib/usecases/Listing_old/PushListingToEbay.d.ts.map +0 -1
  244. package/lib/usecases/Listing_old/PushListingToEbay.js +0 -22
  245. package/lib/usecases/Listing_old/PushListingToEbay.js.map +0 -1
  246. package/lib/usecases/Listing_old/SyncListing.d.ts +0 -11
  247. package/lib/usecases/Listing_old/SyncListing.d.ts.map +0 -1
  248. package/lib/usecases/Listing_old/SyncListing.js +0 -173
  249. package/lib/usecases/Listing_old/SyncListing.js.map +0 -1
  250. package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.d.ts +0 -22
  251. package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.d.ts.map +0 -1
  252. package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.js +0 -67
  253. package/lib/usecases/Offer/ConvertItrackInventoryListingDetailToEbayOffer.js.map +0 -1
  254. package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.d.ts +0 -17
  255. package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.d.ts.map +0 -1
  256. package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.js +0 -66
  257. package/lib/usecases/Offer/ConvertItrackListingToEbayOffer.js.map +0 -1
  258. package/lib/usecases/Offer/CreateEbayOffer.d.ts +0 -11
  259. package/lib/usecases/Offer/CreateEbayOffer.d.ts.map +0 -1
  260. package/lib/usecases/Offer/CreateEbayOffer.js +0 -31
  261. package/lib/usecases/Offer/CreateEbayOffer.js.map +0 -1
  262. package/lib/usecases/Offer/SyncEbayOffer.d.ts +0 -20
  263. package/lib/usecases/Offer/SyncEbayOffer.d.ts.map +0 -1
  264. package/lib/usecases/Offer/SyncEbayOffer.js +0 -49
  265. package/lib/usecases/Offer/SyncEbayOffer.js.map +0 -1
  266. package/lib/usecases/Offer/createOfferSample.d.ts +0 -1
  267. package/lib/usecases/Offer/createOfferSample.d.ts.map +0 -1
  268. package/lib/usecases/Offer/createOfferSample.js +0 -230
  269. package/lib/usecases/Offer/createOfferSample.js.map +0 -1
  270. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts +0 -7
  271. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.d.ts.map +0 -1
  272. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js +0 -5
  273. package/lib/usecases/PaymentPolicy/AddPaymentPolicyToItrack.js.map +0 -1
  274. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts +0 -6
  275. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.d.ts.map +0 -1
  276. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js +0 -5
  277. package/lib/usecases/PaymentPolicy/GetPaymentPoliciesFromItrack.js.map +0 -1
  278. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts +0 -7
  279. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.d.ts.map +0 -1
  280. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js +0 -5
  281. package/lib/usecases/PaymentPolicy/RemovePaymentPolicyFromItrack.js.map +0 -1
  282. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts +0 -7
  283. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.d.ts.map +0 -1
  284. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js +0 -5
  285. package/lib/usecases/PaymentPolicy/UpdatePaymentPolicyFromItrack.js.map +0 -1
  286. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts +0 -7
  287. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.d.ts.map +0 -1
  288. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js +0 -5
  289. package/lib/usecases/ReturnPolicy/AddReturnPolicyToItrack.js.map +0 -1
  290. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts +0 -6
  291. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.d.ts.map +0 -1
  292. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js +0 -5
  293. package/lib/usecases/ReturnPolicy/GetReturnPoliciesFromItrack.js.map +0 -1
  294. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts +0 -7
  295. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.d.ts.map +0 -1
  296. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js +0 -5
  297. package/lib/usecases/ReturnPolicy/RemoveReturnPolicyFromItrack.js.map +0 -1
  298. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts +0 -7
  299. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.d.ts.map +0 -1
  300. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js +0 -5
  301. package/lib/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.js.map +0 -1
  302. package/lib/usecases/integration.test.d.ts +0 -33
  303. package/lib/usecases/integration.test.d.ts.map +0 -1
  304. package/lib/usecases/integration.test.js +0 -499
  305. package/lib/usecases/integration.test.js.map +0 -1
  306. /package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.d.ts → ConvertItrackListingToEbayInventoryAndOffer.d.ts} +0 -0
  307. /package/lib/usecases/Offer/{convertItrackListingToEbayInventoryAndOffer.d.ts.map → ConvertItrackListingToEbayInventoryAndOffer.d.ts.map} +0 -0
@@ -1,402 +0,0 @@
1
- import { test, describe } from 'node:test';
2
- import assert from 'node:assert/strict';
3
- /**
4
- * Accepts:
5
- * the raw string of imageUrls from the listing, should be stringified json array of imageUrl objects
6
- * file list results from db
7
- * Returns: stringified imageUrl list that can be tacked right onto the listing object for insert/update
8
- *
9
- * This function tries to compare the most recent file list for the inventory record with anything saved on the listing and:
10
- * Filters for acceptable mime types
11
- * Adds new items to the url array
12
- * Updates existing items if rank or name changes
13
- * Re-sorts to keep rank 1 at "top"
14
- *
15
- * TODO: need to make sure a specific type is used for file list so it's sharable
16
- * TODO: move this to the ebay-utility as a helper or just part of a method that creates a listing object
17
- * TODO: I believe there's a max 12 image, probably have to account for that including returning a message if exceeded?
18
- */
19
- function processImageUrls(existingImageUrls, partFileList) {
20
- let imageUrlArray = [];
21
- // Decided to leave this as the raw string from the inventorylisting query result
22
- if (existingImageUrls) {
23
- imageUrlArray = JSON.parse(existingImageUrls);
24
- }
25
- // Accepted image MIME types for eBay picture service
26
- const acceptedMimeTypes = [
27
- 'image/avif',
28
- 'image/bmp',
29
- 'image/gif',
30
- 'image/heic',
31
- 'image/jpeg',
32
- 'image/jpg',
33
- 'image/png',
34
- 'image/tiff',
35
- 'image/tif',
36
- 'image/webp'
37
- ];
38
- // Create a new array that will only contain valid files
39
- const updatedImageUrlArray = [];
40
- // Process each file in the most recent partFileList results for an inventory item
41
- for (const file of partFileList) {
42
- // Check if the file has an accepted mimeType
43
- if (!acceptedMimeTypes.includes(file.mimeType.toLowerCase())) {
44
- continue; // Skip files with unsupported mimeTypes
45
- }
46
- // Check if the file is public (skip if public is false)
47
- if (file.public === false) {
48
- continue; // Skip files that are not public (removes them from existing list)
49
- }
50
- // TODO: confirm that toString is needed (might be due to parse/stringify)
51
- const existingFile = imageUrlArray.find(item => item.fileId.toString() === file.fileId.toString());
52
- if (existingFile) {
53
- // File exists - update rank and name if needed
54
- updatedImageUrlArray.push({
55
- ...existingFile, // Need to retain the eBay-given url
56
- fileName: file.name, // Always update with current name
57
- rank: file.rank, // Always update with current rank
58
- });
59
- }
60
- else {
61
- // New file - add it
62
- updatedImageUrlArray.push({
63
- fileId: file.fileId,
64
- fileName: file.name,
65
- rank: file.rank,
66
- });
67
- }
68
- }
69
- // Sort by rank to maintain order, presumably the "top" image in the list of images given to eBay for a listing is shown first
70
- updatedImageUrlArray.sort((a, b) => a.rank - b.rank);
71
- // Stringify it so we return it in same format it was received
72
- return updatedImageUrlArray.length > 0 ? JSON.stringify(updatedImageUrlArray) : null;
73
- }
74
- const existingImageList = "[{\"fileId\":\"2551\",\"fileName\":\"20250503_162546.jpg\",\"rank\":1}]";
75
- const incomingImageList = [
76
- {
77
- name: '20250503_162546.jpg',
78
- fileId: 2551,
79
- createdDate: '2025-05-08 18:33:59',
80
- updatedDate: '2025-05-08 18:33:59',
81
- type: 'Image',
82
- md5sum: 'c3362b590bd015981108d5495382c8bf',
83
- size: 174763,
84
- public: true,
85
- rank: 1,
86
- mimeType: 'image/jpeg',
87
- path: '/attachments/c3362b590bd015981108d5495382c8bf2551/20250503_162546.jpg'
88
- },
89
- {
90
- name: '20250503_162453.jpg',
91
- fileId: 2550,
92
- createdDate: '2025-05-08 18:33:44',
93
- updatedDate: '2025-05-08 18:33:44',
94
- type: 'Image',
95
- md5sum: '883e2aa44d71d6cbe078d12e48db34d1',
96
- size: 127168,
97
- public: true,
98
- rank: 2,
99
- mimeType: 'image/jpeg',
100
- path: '/attachments/883e2aa44d71d6cbe078d12e48db34d12550/20250503_162453.jpg'
101
- }
102
- ];
103
- describe('processImageUrls', () => {
104
- // Helper function to create test FileItem
105
- const createFileItem = (fileId, name, rank) => ({
106
- fileId,
107
- name,
108
- rank,
109
- public: true,
110
- createdDate: '2025-01-01 00:00:00',
111
- updatedDate: '2025-01-01 00:00:00',
112
- type: 'Image',
113
- md5sum: 'test-hash',
114
- size: 100000,
115
- path: `/test/path/${name}`,
116
- mimeType: 'image/jpeg'
117
- });
118
- test('should add new items when existing list is null', () => {
119
- const fileList = [
120
- createFileItem(1, 'image1.jpg', 1),
121
- createFileItem(2, 'image2.jpg', 2)
122
- ];
123
- const result = processImageUrls(null, fileList);
124
- const parsed = JSON.parse(result);
125
- assert.strictEqual(parsed.length, 2);
126
- assert.strictEqual(parsed[0].fileId, 1);
127
- assert.strictEqual(parsed[0].fileName, 'image1.jpg');
128
- assert.strictEqual(parsed[0].rank, 1);
129
- assert.strictEqual(parsed[1].fileId, 2);
130
- assert.strictEqual(parsed[1].fileName, 'image2.jpg');
131
- assert.strictEqual(parsed[1].rank, 2);
132
- });
133
- test('should add new items when existing list is empty', () => {
134
- const fileList = [
135
- createFileItem(1, 'image1.jpg', 1)
136
- ];
137
- const result = processImageUrls('[]', fileList);
138
- const parsed = JSON.parse(result);
139
- assert.strictEqual(parsed.length, 1);
140
- assert.strictEqual(parsed[0].fileId, 1);
141
- assert.strictEqual(parsed[0].fileName, 'image1.jpg');
142
- assert.strictEqual(parsed[0].rank, 1);
143
- });
144
- test('should update existing items with new name and rank', () => {
145
- const existingList = JSON.stringify([
146
- { fileId: 1, fileName: 'old-name.jpg', rank: 5, imageUrl: 'http://example.com/old.jpg' }
147
- ]);
148
- const fileList = [
149
- createFileItem(1, 'new-name.jpg', 3)
150
- ];
151
- const result = processImageUrls(existingList, fileList);
152
- const parsed = JSON.parse(result);
153
- assert.strictEqual(parsed.length, 1);
154
- assert.strictEqual(parsed[0].fileId, 1);
155
- assert.strictEqual(parsed[0].fileName, 'new-name.jpg'); // Updated name
156
- assert.strictEqual(parsed[0].rank, 3); // Updated rank
157
- assert.strictEqual(parsed[0].imageUrl, 'http://example.com/old.jpg'); // Preserved imageUrl
158
- });
159
- test('should handle mixed operations: update existing and add new items', () => {
160
- const existingList = JSON.stringify([
161
- { fileId: 1, fileName: 'existing1.jpg', rank: 2 },
162
- { fileId: 3, fileName: 'existing3.jpg', rank: 4 }
163
- ]);
164
- const fileList = [
165
- createFileItem(1, 'updated1.jpg', 1), // Update existing
166
- createFileItem(2, 'new2.jpg', 3), // Add new
167
- createFileItem(3, 'updated3.jpg', 5) // Update existing
168
- ];
169
- const result = processImageUrls(existingList, fileList);
170
- const parsed = JSON.parse(result);
171
- assert.strictEqual(parsed.length, 3);
172
- // Should be sorted by rank
173
- assert.strictEqual(parsed[0].fileId, 1);
174
- assert.strictEqual(parsed[0].fileName, 'updated1.jpg');
175
- assert.strictEqual(parsed[0].rank, 1);
176
- assert.strictEqual(parsed[1].fileId, 2);
177
- assert.strictEqual(parsed[1].fileName, 'new2.jpg');
178
- assert.strictEqual(parsed[1].rank, 3);
179
- assert.strictEqual(parsed[2].fileId, 3);
180
- assert.strictEqual(parsed[2].fileName, 'updated3.jpg');
181
- assert.strictEqual(parsed[2].rank, 5);
182
- });
183
- test('should properly sort results by rank', () => {
184
- const fileList = [
185
- createFileItem(1, 'image1.jpg', 5),
186
- createFileItem(2, 'image2.jpg', 1),
187
- createFileItem(3, 'image3.jpg', 3)
188
- ];
189
- const result = processImageUrls(null, fileList);
190
- const parsed = JSON.parse(result);
191
- // Should be sorted by rank: 1, 3, 5
192
- assert.strictEqual(parsed[0].rank, 1);
193
- assert.strictEqual(parsed[0].fileId, 2);
194
- assert.strictEqual(parsed[1].rank, 3);
195
- assert.strictEqual(parsed[1].fileId, 3);
196
- assert.strictEqual(parsed[2].rank, 5);
197
- assert.strictEqual(parsed[2].fileId, 1);
198
- });
199
- test('should handle fileId as string in existing list', () => {
200
- const existingList = JSON.stringify([
201
- { fileId: '123', fileName: 'string-id.jpg', rank: 1 }
202
- ]);
203
- const fileList = [
204
- createFileItem(123, 'updated-string-id.jpg', 2)
205
- ];
206
- const result = processImageUrls(existingList, fileList);
207
- const parsed = JSON.parse(result);
208
- assert.strictEqual(parsed.length, 1);
209
- assert.strictEqual(parsed[0].fileId, '123'); // Should preserve original type
210
- assert.strictEqual(parsed[0].fileName, 'updated-string-id.jpg');
211
- assert.strictEqual(parsed[0].rank, 2);
212
- });
213
- test('should return null when file list is empty', () => {
214
- const existingList = JSON.stringify([
215
- { fileId: 1, fileName: 'existing.jpg', rank: 1 }
216
- ]);
217
- const result = processImageUrls(existingList, []);
218
- assert.strictEqual(result, null);
219
- });
220
- test('should return null when both existing and file list are empty', () => {
221
- const result = processImageUrls(null, []);
222
- assert.strictEqual(result, null);
223
- });
224
- test('should preserve additional properties from existing items', () => {
225
- const existingList = JSON.stringify([
226
- {
227
- fileId: 1,
228
- fileName: 'test.jpg',
229
- rank: 1,
230
- imageUrl: 'http://example.com/test.jpg',
231
- customProperty: 'preserved'
232
- }
233
- ]);
234
- const fileList = [
235
- createFileItem(1, 'updated-test.jpg', 2)
236
- ];
237
- const result = processImageUrls(existingList, fileList);
238
- const parsed = JSON.parse(result);
239
- assert.strictEqual(parsed[0].imageUrl, 'http://example.com/test.jpg');
240
- assert.strictEqual(parsed[0].customProperty, 'preserved');
241
- assert.strictEqual(parsed[0].fileName, 'updated-test.jpg'); // Updated
242
- assert.strictEqual(parsed[0].rank, 2); // Updated
243
- });
244
- test('should filter out files with unsupported mimeTypes', () => {
245
- const fileList = [
246
- createFileItem(1, 'image1.jpg', 1), // Valid - image/jpeg
247
- {
248
- ...createFileItem(2, 'document.pdf', 2),
249
- mimeType: 'application/pdf' // Invalid mimeType
250
- },
251
- {
252
- ...createFileItem(3, 'image3.png', 3),
253
- mimeType: 'image/png' // Valid
254
- },
255
- {
256
- ...createFileItem(4, 'video.mp4', 4),
257
- mimeType: 'video/mp4' // Invalid mimeType
258
- }
259
- ];
260
- const result = processImageUrls(null, fileList);
261
- const parsed = JSON.parse(result);
262
- // Should only include files with valid image mimeTypes
263
- assert.strictEqual(parsed.length, 2);
264
- assert.strictEqual(parsed[0].fileId, 1);
265
- assert.strictEqual(parsed[0].fileName, 'image1.jpg');
266
- assert.strictEqual(parsed[1].fileId, 3);
267
- assert.strictEqual(parsed[1].fileName, 'image3.png');
268
- });
269
- test('should handle case-insensitive mimeType checking', () => {
270
- const fileList = [
271
- {
272
- ...createFileItem(1, 'image1.jpg', 1),
273
- mimeType: 'IMAGE/JPEG' // Uppercase
274
- },
275
- {
276
- ...createFileItem(2, 'image2.png', 2),
277
- mimeType: 'Image/PNG' // Mixed case
278
- }
279
- ];
280
- const result = processImageUrls(null, fileList);
281
- const parsed = JSON.parse(result);
282
- assert.strictEqual(parsed.length, 2);
283
- assert.strictEqual(parsed[0].fileId, 1);
284
- assert.strictEqual(parsed[1].fileId, 2);
285
- });
286
- test('should support all accepted image mimeTypes', () => {
287
- const fileList = [
288
- { ...createFileItem(1, 'image.avif', 1), mimeType: 'image/avif' },
289
- { ...createFileItem(2, 'image.bmp', 2), mimeType: 'image/bmp' },
290
- { ...createFileItem(3, 'image.gif', 3), mimeType: 'image/gif' },
291
- { ...createFileItem(4, 'image.heic', 4), mimeType: 'image/heic' },
292
- { ...createFileItem(5, 'image.jpg', 5), mimeType: 'image/jpeg' },
293
- { ...createFileItem(6, 'image2.jpg', 6), mimeType: 'image/jpg' },
294
- { ...createFileItem(7, 'image.png', 7), mimeType: 'image/png' },
295
- { ...createFileItem(8, 'image.tif', 8), mimeType: 'image/tiff' },
296
- { ...createFileItem(9, 'image2.tif', 9), mimeType: 'image/tif' },
297
- { ...createFileItem(10, 'image.webp', 10), mimeType: 'image/webp' }
298
- ];
299
- const result = processImageUrls(null, fileList);
300
- const parsed = JSON.parse(result);
301
- // All should be included
302
- assert.strictEqual(parsed.length, 10);
303
- });
304
- test('should return null when all files have unsupported mimeTypes', () => {
305
- const fileList = [
306
- {
307
- ...createFileItem(1, 'document.pdf', 1),
308
- mimeType: 'application/pdf'
309
- },
310
- {
311
- ...createFileItem(2, 'video.mp4', 2),
312
- mimeType: 'video/mp4'
313
- }
314
- ];
315
- const result = processImageUrls(null, fileList);
316
- assert.strictEqual(result, null);
317
- });
318
- test('should handle real-world scenario from your example', () => {
319
- const existingImageList = "[{\"fileId\":\"2551\",\"fileName\":\"20250503_162546.jpg\",\"rank\":1}]";
320
- const incomingImageList = [
321
- {
322
- name: '20250503_162546.jpg',
323
- fileId: 2551,
324
- createdDate: '2025-05-08 18:33:59',
325
- updatedDate: '2025-05-08 18:33:59',
326
- type: 'Image',
327
- md5sum: 'c3362b590bd015981108d5495382c8bf',
328
- size: 174763,
329
- public: true,
330
- rank: 1,
331
- mimeType: 'image/jpeg',
332
- path: '/attachments/c3362b590bd015981108d5495382c8bf2551/20250503_162546.jpg'
333
- },
334
- {
335
- name: '20250503_162453.jpg',
336
- fileId: 2550,
337
- createdDate: '2025-05-08 18:33:44',
338
- updatedDate: '2025-05-08 18:33:44',
339
- type: 'Image',
340
- md5sum: '883e2aa44d71d6cbe078d12e48db34d1',
341
- size: 127168,
342
- public: true,
343
- rank: 2,
344
- mimeType: 'image/jpeg',
345
- path: '/attachments/883e2aa44d71d6cbe078d12e48db34d12550/20250503_162453.jpg'
346
- }
347
- ];
348
- const result = processImageUrls(existingImageList, incomingImageList);
349
- const parsed = JSON.parse(result);
350
- assert.strictEqual(parsed.length, 2);
351
- // First item should be updated existing item
352
- assert.strictEqual(parsed[0].fileId, '2551'); // Preserved as string
353
- assert.strictEqual(parsed[0].fileName, '20250503_162546.jpg');
354
- assert.strictEqual(parsed[0].rank, 1);
355
- // Second item should be new item
356
- assert.strictEqual(parsed[1].fileId, 2550);
357
- assert.strictEqual(parsed[1].fileName, '20250503_162453.jpg');
358
- assert.strictEqual(parsed[1].rank, 2);
359
- });
360
- test('should exclude files with public: false', () => {
361
- const fileList = [
362
- createFileItem(1, 'public-image.jpg', 1), // public: true (default from helper)
363
- {
364
- ...createFileItem(2, 'private-image.jpg', 2),
365
- public: false // Override to false
366
- },
367
- createFileItem(3, 'another-public.jpg', 3) // public: true (default from helper)
368
- ];
369
- const result = processImageUrls(null, fileList);
370
- const parsed = JSON.parse(result);
371
- // Should only include files with public: true
372
- assert.strictEqual(parsed.length, 2);
373
- assert.strictEqual(parsed[0].fileId, 1);
374
- assert.strictEqual(parsed[0].fileName, 'public-image.jpg');
375
- assert.strictEqual(parsed[1].fileId, 3);
376
- assert.strictEqual(parsed[1].fileName, 'another-public.jpg');
377
- });
378
- test('should remove existing files when they become private (public: false)', () => {
379
- const existingList = JSON.stringify([
380
- { fileId: 1, fileName: 'image1.jpg', rank: 1 },
381
- { fileId: 2, fileName: 'image2.jpg', rank: 2 },
382
- { fileId: 3, fileName: 'image3.jpg', rank: 3 }
383
- ]);
384
- const fileList = [
385
- createFileItem(1, 'image1.jpg', 1), // Still public
386
- {
387
- ...createFileItem(2, 'image2.jpg', 2),
388
- public: false // Now private - should be removed
389
- },
390
- createFileItem(3, 'image3.jpg', 3) // Still public
391
- ];
392
- const result = processImageUrls(existingList, fileList);
393
- const parsed = JSON.parse(result);
394
- // Should only include files 1 and 3 (file 2 removed because public: false)
395
- assert.strictEqual(parsed.length, 2);
396
- assert.strictEqual(parsed[0].fileId, 1);
397
- assert.strictEqual(parsed[0].fileName, 'image1.jpg');
398
- assert.strictEqual(parsed[1].fileId, 3);
399
- assert.strictEqual(parsed[1].fileName, 'image3.jpg');
400
- });
401
- });
402
- //# sourceMappingURL=processImageUrlTest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processImageUrlTest.js","sourceRoot":"","sources":["../../src/tests/processImageUrlTest.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/tests/test.ts"],"names":[],"mappings":""}
package/lib/tests/test.js DELETED
@@ -1,130 +0,0 @@
1
- import { test } from 'uvu';
2
- import * as assert from 'uvu/assert';
3
- //.import { validatePackageWeightAndSize } from '../../../entities/ebay/InventoryItem.js'
4
- import { validatePackageWeightAndSize } from '../entities/ebay/InventoryItem.js';
5
- import { ValidationError } from '../entities/ebay/validation.js';
6
- import { EbayLengthUnitOfMeasureEnum, EbayWeightUnitOfMeasureEnum } from '../entities/ebay/PackageWeightAndSize.js';
7
- const compareArrays = (firstArray, secondArray, key) => {
8
- const newItems = firstArray.filter(item1 => !secondArray.some(item2 => item1[key] === item2[key]));
9
- const existingItems = firstArray.filter(item1 => secondArray.some(item2 => item1[key] === item2[key]));
10
- const unusedItems = secondArray.filter(item2 => !firstArray.some(item1 => item1[key] === item2[key]));
11
- return {
12
- newItems,
13
- existingItems,
14
- unusedItems,
15
- };
16
- };
17
- const policies1 = [
18
- { id: '1', name: 'Policy 1' },
19
- { id: '2', name: 'Policy 2' },
20
- { id: '3', name: 'Policy 3' },
21
- ];
22
- const policies2 = [
23
- { id: '2', name: 'Policy 2' },
24
- { id: '3', name: 'Policy 3' },
25
- { id: '4', name: 'Policy 4' },
26
- ];
27
- test('compareArrays should return correct comparison results', () => {
28
- const result = compareArrays(policies1, policies2, 'id');
29
- assert.equal(result.newItems, [{ id: '1', name: 'Policy 1' }]);
30
- assert.equal(result.existingItems, [
31
- { id: '2', name: 'Policy 2' },
32
- { id: '3', name: 'Policy 3' },
33
- ]);
34
- assert.equal(result.unusedItems, [{ id: '4', name: 'Policy 4' }]);
35
- });
36
- //test.run();
37
- test('validatePackageWeightAndSize should pass validation for valid input', () => {
38
- const packageWeightAndSize = {
39
- dimensions: {
40
- height: 10,
41
- length: 20,
42
- width: 15,
43
- unit: EbayLengthUnitOfMeasureEnum.Inch
44
- },
45
- weight: {
46
- value: 5,
47
- unit: EbayWeightUnitOfMeasureEnum.Pound
48
- }
49
- };
50
- const result = validatePackageWeightAndSize(packageWeightAndSize);
51
- assert.is(result, null);
52
- });
53
- test('validatePackageWeightAndSize should fail validation for height equal to 0', () => {
54
- const packageWeightAndSize = {
55
- dimensions: {
56
- height: 0,
57
- length: 20,
58
- width: 15,
59
- unit: EbayLengthUnitOfMeasureEnum.Inch
60
- },
61
- weight: {
62
- value: 5,
63
- unit: EbayWeightUnitOfMeasureEnum.Pound
64
- }
65
- };
66
- const result = validatePackageWeightAndSize(packageWeightAndSize);
67
- assert.instance(result, ValidationError);
68
- assert.is(result?.message, 'Error validating package weight and size');
69
- assert.is(result?.nestedErrors.length, 1);
70
- assert.is(result?.nestedErrors[0].message, 'Value of Height must be a number that is at least 1');
71
- });
72
- test('validatePackageWeightAndSize should fail validation for length equal to 0', () => {
73
- const packageWeightAndSize = {
74
- dimensions: {
75
- height: 10,
76
- length: 0,
77
- width: 15,
78
- unit: EbayLengthUnitOfMeasureEnum.Inch
79
- },
80
- weight: {
81
- value: 5,
82
- unit: EbayWeightUnitOfMeasureEnum.Pound
83
- }
84
- };
85
- const result = validatePackageWeightAndSize(packageWeightAndSize);
86
- assert.instance(result, ValidationError);
87
- assert.is(result?.message, 'Error validating package weight and size');
88
- assert.is(result?.nestedErrors.length, 1);
89
- assert.is(result?.nestedErrors[0].message, 'Value of Length must be a number that is at least 1');
90
- });
91
- test('validatePackageWeightAndSize should fail validation for width equal to 0', () => {
92
- const packageWeightAndSize = {
93
- dimensions: {
94
- height: 10,
95
- length: 20,
96
- width: 0,
97
- unit: EbayLengthUnitOfMeasureEnum.Inch
98
- },
99
- weight: {
100
- value: 5,
101
- unit: EbayWeightUnitOfMeasureEnum.Pound
102
- }
103
- };
104
- const result = validatePackageWeightAndSize(packageWeightAndSize);
105
- assert.instance(result, ValidationError);
106
- assert.is(result?.message, 'Error validating package weight and size');
107
- assert.is(result?.nestedErrors.length, 1);
108
- assert.is(result?.nestedErrors[0].message, 'Value of Width must be a number that is at least 1');
109
- });
110
- test('validatePackageWeightAndSize should fail validation for weight equal to 0', () => {
111
- const packageWeightAndSize = {
112
- dimensions: {
113
- height: 10,
114
- length: 20,
115
- width: 15,
116
- unit: EbayLengthUnitOfMeasureEnum.Inch
117
- },
118
- weight: {
119
- value: 0,
120
- unit: EbayWeightUnitOfMeasureEnum.Pound
121
- }
122
- };
123
- const result = validatePackageWeightAndSize(packageWeightAndSize);
124
- assert.instance(result, ValidationError);
125
- assert.is(result?.message, 'Error validating package weight and size');
126
- assert.is(result?.nestedErrors.length, 1);
127
- assert.is(result?.nestedErrors[0].message, 'Value of Weight must be a number that is at least 1');
128
- });
129
- test.run();
130
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/tests/test.ts"],"names":[],"mappings":"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"}