@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,5 +0,0 @@
1
- export const updateReturnPolicyFromItrack = async (opts, returnPolicy) => {
2
- const response = await opts.itrackAdapter.updateReturnPolicy(returnPolicy);
3
- return response;
4
- };
5
- //# sourceMappingURL=UpdateReturnPolicyInItrack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UpdateReturnPolicyInItrack.js","sourceRoot":"","sources":["../../../src/usecases/ReturnPolicy/UpdateReturnPolicyInItrack.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAC,IAAmB,EAAE,YAA6B,EAAE,EAAE;IACpG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAC1E,OAAO,QAAQ,CAAA;AACnB,CAAC,CAAA"}
@@ -1,33 +0,0 @@
1
- import { UseCaseResult } from "../types/UseCaseResult.js";
2
- interface IntegrationTestResult {
3
- testName: string;
4
- result: UseCaseResult<any>;
5
- duration: number;
6
- assertions: {
7
- passed: number;
8
- failed: number;
9
- details: string[];
10
- };
11
- }
12
- /**
13
- * Test successful end-to-end workflow
14
- */
15
- declare const testEndToEndWorkflowSuccess: () => Promise<IntegrationTestResult>;
16
- /**
17
- * Test error handling with invalid data
18
- */
19
- export declare const testErrorHandlingScenario: () => Promise<IntegrationTestResult>;
20
- /**
21
- * Test data validation and transformation
22
- */
23
- export declare const testDataValidationScenario: () => Promise<IntegrationTestResult>;
24
- /**
25
- * Test system resilience and error recovery
26
- */
27
- export declare const testSystemResilienceScenario: () => Promise<IntegrationTestResult>;
28
- /**
29
- * Run all integration tests and provide comprehensive summary
30
- */
31
- export declare const runComprehensiveIntegrationTests: () => Promise<void>;
32
- export { testEndToEndWorkflowSuccess, testErrorHandlingScenario, testDataValidationScenario, testSystemResilienceScenario };
33
- //# sourceMappingURL=integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../src/usecases/integration.test.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,aAAa,EAIhB,MAAM,2BAA2B,CAAA;AA8ElC,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE;QACR,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;CACJ;AAED;;GAEG;AACH,QAAA,MAAM,2BAA2B,QAAY,OAAO,CAAC,qBAAqB,CA4FzE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAY,OAAO,CAAC,qBAAqB,CAgG9E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAY,OAAO,CAAC,qBAAqB,CAiF/E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAY,OAAO,CAAC,qBAAqB,CAqFjF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gCAAgC,QAAY,OAAO,CAAC,IAAI,CAsFpE,CAAA;AAQD,OAAO,EACH,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC/B,CAAA"}
@@ -1,499 +0,0 @@
1
- import { getMysqlConfigFromEnv } from "../infrastructure/mysql/getPool.js";
2
- import { MysqlDatastore } from "../infrastructure/mysql/MysqlDatastore.js";
3
- import { TokenManager } from "../infrastructure/TokenManager.js";
4
- import { EbayAdapter } from "../adapters/ebay/EbayAdapter.js";
5
- import { doFetch } from "../infrastructure/http.js";
6
- import { EbayScopes } from "../entities/ebay/Scopes.js";
7
- import { MarketplaceEnum } from "../entities/ebay/MarketplaceEnum.js";
8
- import { ItrackAdapter } from "../adapters/itrack/ItrackAdapter.js";
9
- import { formatErrorsForLogging, isSuccessResult, hasErrors } from "../types/UseCaseResult.js";
10
- // Import use cases for testing
11
- import { syncInventoryToEbay } from "./Inventory/SyncInventoryToEbay.js";
12
- import { convertItrackListingToEbayInventoryAndOffer } from "./Offer/ConvertItrackListingToEbayInventoryAndOffer.js";
13
- /**
14
- * Comprehensive Integration Test Suite for eBay Utility Use Cases
15
- *
16
- * This test suite follows the integration testing best practices:
17
- * 1. Returns UseCaseResult for proper testing and validation
18
- * 2. Tests both success and error scenarios
19
- * 3. Provides structured assertions and logging
20
- * 4. Uses mock data to avoid database dependencies
21
- * 5. Separates test scenarios for better maintainability
22
- * 6. Tests multiple use cases in a coordinated manner
23
- */
24
- const PRODUCTION = false;
25
- // Create shared infrastructure
26
- const pool = getMysqlConfigFromEnv();
27
- const db = new MysqlDatastore(pool);
28
- const tokenManager = new TokenManager(db, doFetch, PRODUCTION, Object.values(EbayScopes), MarketplaceEnum.Motors);
29
- const ebayAdapter = new EbayAdapter(tokenManager);
30
- const itrackAdapter = new ItrackAdapter(db);
31
- // Mock data for testing
32
- const mockInventoryListingDetailRow = {
33
- // Listing details
34
- active: true,
35
- inventoryListingDetailId: 5,
36
- duration: 'GTC',
37
- ecommercePartnerId: 1,
38
- ecommerceCategoryId: 33543,
39
- ecommerceConditionId: 3,
40
- ecommerceConditionDescription: "used a",
41
- fulfillmentTime: 3,
42
- fulfillmentTimeUnit: "BUSINESS_DAY",
43
- listingDescription: `Assembly:\nMake:{?Make}\nVehicle Model: Test Vehicle\nManufacturer:TEST_BRAND\nModel:Test Model\nPart:\nManufacturer: TEST_BRAND\nModel: Test Model\n{?FlexLabel1}:{?FlexValue1}\n`,
44
- listingTitle: "Test Integration Item",
45
- // Inventory specifics
46
- imageUrls: [
47
- {
48
- fileId: 2551,
49
- fileName: "test_image.jpg",
50
- rank: 1
51
- }
52
- ],
53
- inventoryDescription: 'Test Integration Item Description',
54
- inventoryId: 999999,
55
- manufacturerPartNumber: 'TEST-MPN-001',
56
- price: 25.99,
57
- quantity: 5,
58
- sku: "TEST-SKU-999999",
59
- storeId: 1,
60
- upc: '123456789012',
61
- weight: 2.5,
62
- weightUnit: "POUND",
63
- shippingLength: 6,
64
- shippingWidth: 4,
65
- shippingHeight: 3,
66
- shippingLengthUnit: "INCH",
67
- packageType: "PARCEL_OR_PADDED_ENVELOPE",
68
- // Partner specifics
69
- partnerSpecificDetails: {
70
- brand: "Test Brand",
71
- listingFormat: "FIXED_PRICE",
72
- fulfillmentPolicyId: 6206168000,
73
- marketplaceId: "EBAY_MOTORS",
74
- merchantLocationKey: 'Store 1',
75
- paymentPolicyId: 6206169000,
76
- returnPolicyId: 6206170000,
77
- }
78
- };
79
- /**
80
- * Test successful end-to-end workflow
81
- */
82
- const testEndToEndWorkflowSuccess = async () => {
83
- const startTime = Date.now();
84
- const testName = "End-to-End Workflow - Success Scenario";
85
- const assertions = { passed: 0, failed: 0, details: [] };
86
- try {
87
- await tokenManager.initialize();
88
- console.log('🔄 Initializing token manager...');
89
- assertions.passed++;
90
- assertions.details.push('✅ Token manager initialized successfully');
91
- // Step 1: Convert Itrack listing to eBay format
92
- console.log('🔄 Converting Itrack listing to eBay inventory format...');
93
- const conversionResult = await convertItrackListingToEbayInventoryAndOffer({
94
- inventoryListingDetail: mockInventoryListingDetailRow,
95
- itrackAdapter
96
- });
97
- if (isSuccessResult(conversionResult)) {
98
- assertions.passed++;
99
- assertions.details.push('✅ Listing conversion successful');
100
- console.log('✅ Conversion successful for SKU:', conversionResult.data.sku);
101
- }
102
- else {
103
- assertions.failed++;
104
- assertions.details.push('❌ Listing conversion failed');
105
- console.error('❌ Conversion failed:', formatErrorsForLogging(conversionResult.errors || []));
106
- return {
107
- testName,
108
- result: conversionResult,
109
- duration: Date.now() - startTime,
110
- assertions
111
- };
112
- }
113
- // Step 2: Sync inventory to eBay
114
- console.log('🔄 Syncing inventory to eBay...');
115
- const { sku, ebayInventoryItem } = conversionResult.data;
116
- const syncResult = await syncInventoryToEbay({
117
- ebayAdapter,
118
- tokenManager,
119
- sku,
120
- inventoryItem: ebayInventoryItem
121
- });
122
- if (isSuccessResult(syncResult)) {
123
- assertions.passed++;
124
- assertions.details.push('✅ eBay inventory sync successful');
125
- console.log('✅ Inventory sync successful for SKU:', syncResult.data.sku);
126
- // Verify data integrity
127
- if (syncResult.data.sku === sku) {
128
- assertions.passed++;
129
- assertions.details.push('✅ SKU consistency maintained');
130
- }
131
- else {
132
- assertions.failed++;
133
- assertions.details.push('❌ SKU consistency lost');
134
- }
135
- if (syncResult.request) {
136
- assertions.passed++;
137
- assertions.details.push('✅ HTTP request details captured');
138
- }
139
- else {
140
- assertions.failed++;
141
- assertions.details.push('❌ HTTP request details missing');
142
- }
143
- }
144
- else {
145
- assertions.failed++;
146
- assertions.details.push('❌ eBay inventory sync failed');
147
- console.error('❌ Sync failed:', formatErrorsForLogging(syncResult.errors || []));
148
- }
149
- return {
150
- testName,
151
- result: syncResult,
152
- duration: Date.now() - startTime,
153
- assertions
154
- };
155
- }
156
- catch (error) {
157
- assertions.failed++;
158
- assertions.details.push(`❌ Unexpected error: ${error}`);
159
- console.error('❌ Test failed with unexpected error:', error);
160
- return {
161
- testName,
162
- result: { success: false, errors: [{ type: 'system', message: `Test error: ${error}` }] },
163
- duration: Date.now() - startTime,
164
- assertions
165
- };
166
- }
167
- };
168
- /**
169
- * Test error handling with invalid data
170
- */
171
- export const testErrorHandlingScenario = async () => {
172
- const startTime = Date.now();
173
- const testName = "Error Handling - Invalid Data Scenario";
174
- const assertions = { passed: 0, failed: 0, details: [] };
175
- try {
176
- await tokenManager.initialize();
177
- // Create invalid mock data to trigger validation errors
178
- const invalidMockData = {
179
- ...mockInventoryListingDetailRow,
180
- sku: "", // Invalid empty SKU
181
- price: -1, // Invalid negative price
182
- quantity: 0, // Invalid zero quantity
183
- inventoryId: null, // Invalid null inventory ID
184
- listingTitle: "", // Invalid empty title
185
- };
186
- console.log('🔄 Testing error scenario with invalid data...');
187
- const conversionResult = await convertItrackListingToEbayInventoryAndOffer({
188
- inventoryListingDetail: invalidMockData,
189
- itrackAdapter
190
- });
191
- // We expect this to fail with validation errors
192
- if (hasErrors(conversionResult)) {
193
- assertions.passed++;
194
- assertions.details.push('✅ Conversion properly failed with invalid data');
195
- console.log('✅ Expected conversion failure:', formatErrorsForLogging(conversionResult.errors));
196
- // Verify error types and structure
197
- const hasValidationErrors = conversionResult.errors?.some(e => e.type === 'validation');
198
- if (hasValidationErrors) {
199
- assertions.passed++;
200
- assertions.details.push('✅ Validation errors properly detected');
201
- }
202
- else {
203
- assertions.failed++;
204
- assertions.details.push('❌ Expected validation errors not found');
205
- }
206
- // Verify error details are informative
207
- if (conversionResult.errors && conversionResult.errors.length > 0) {
208
- assertions.passed++;
209
- assertions.details.push('✅ Error details properly structured');
210
- }
211
- else {
212
- assertions.failed++;
213
- assertions.details.push('❌ Error details missing or malformed');
214
- }
215
- }
216
- else {
217
- // If conversion unexpectedly succeeded, test sync with invalid data
218
- console.log('⚠️ Conversion succeeded unexpectedly, testing sync with invalid data...');
219
- const { sku, ebayInventoryItem } = conversionResult.data;
220
- const syncResult = await syncInventoryToEbay({
221
- ebayAdapter,
222
- tokenManager,
223
- sku,
224
- inventoryItem: ebayInventoryItem
225
- });
226
- if (hasErrors(syncResult)) {
227
- assertions.passed++;
228
- assertions.details.push('✅ Sync properly failed with invalid data');
229
- console.log('✅ Expected sync failure:', formatErrorsForLogging(syncResult.errors));
230
- }
231
- else {
232
- assertions.failed++;
233
- assertions.details.push('❌ Expected sync to fail but it succeeded');
234
- }
235
- return {
236
- testName,
237
- result: syncResult,
238
- duration: Date.now() - startTime,
239
- assertions
240
- };
241
- }
242
- return {
243
- testName,
244
- result: conversionResult,
245
- duration: Date.now() - startTime,
246
- assertions
247
- };
248
- }
249
- catch (error) {
250
- assertions.failed++;
251
- assertions.details.push(`❌ Unexpected error: ${error}`);
252
- console.error('❌ Test failed with unexpected error:', error);
253
- return {
254
- testName,
255
- result: { success: false, errors: [{ type: 'system', message: `Test error: ${error}` }] },
256
- duration: Date.now() - startTime,
257
- assertions
258
- };
259
- }
260
- };
261
- /**
262
- * Test data validation and transformation
263
- */
264
- export const testDataValidationScenario = async () => {
265
- const startTime = Date.now();
266
- const testName = "Data Validation - Transformation Scenario";
267
- const assertions = { passed: 0, failed: 0, details: [] };
268
- try {
269
- await tokenManager.initialize();
270
- // Test with edge case data that should be handled gracefully
271
- const edgeCaseData = {
272
- ...mockInventoryListingDetailRow,
273
- price: 0.01, // Minimum price
274
- quantity: 999, // High quantity
275
- weight: 0.1, // Minimum weight
276
- listingTitle: "A".repeat(80), // Maximum title length
277
- inventoryDescription: "B".repeat(4000), // Long description
278
- };
279
- console.log('🔄 Testing data validation with edge cases...');
280
- const conversionResult = await convertItrackListingToEbayInventoryAndOffer({
281
- inventoryListingDetail: edgeCaseData,
282
- itrackAdapter
283
- });
284
- if (isSuccessResult(conversionResult)) {
285
- assertions.passed++;
286
- assertions.details.push('✅ Edge case data handled successfully');
287
- console.log('✅ Edge case conversion successful for SKU:', conversionResult.data.sku);
288
- // Verify data transformations
289
- const { ebayInventoryItem } = conversionResult.data;
290
- if (ebayInventoryItem.product?.title) {
291
- assertions.passed++;
292
- assertions.details.push('✅ Title transformation successful');
293
- }
294
- else {
295
- assertions.failed++;
296
- assertions.details.push('❌ Title transformation failed');
297
- }
298
- if (ebayInventoryItem.product?.description) {
299
- assertions.passed++;
300
- assertions.details.push('✅ Description transformation successful');
301
- }
302
- else {
303
- assertions.failed++;
304
- assertions.details.push('❌ Description transformation failed');
305
- }
306
- if (ebayInventoryItem.availability?.shipToLocationAvailability?.quantity) {
307
- assertions.passed++;
308
- assertions.details.push('✅ Quantity mapping successful');
309
- }
310
- else {
311
- assertions.failed++;
312
- assertions.details.push('❌ Quantity mapping failed');
313
- }
314
- }
315
- else {
316
- assertions.failed++;
317
- assertions.details.push('❌ Edge case data handling failed');
318
- console.error('❌ Edge case conversion failed:', formatErrorsForLogging(conversionResult.errors || []));
319
- }
320
- return {
321
- testName,
322
- result: conversionResult,
323
- duration: Date.now() - startTime,
324
- assertions
325
- };
326
- }
327
- catch (error) {
328
- assertions.failed++;
329
- assertions.details.push(`❌ Unexpected error: ${error}`);
330
- console.error('❌ Test failed with unexpected error:', error);
331
- return {
332
- testName,
333
- result: { success: false, errors: [{ type: 'system', message: `Test error: ${error}` }] },
334
- duration: Date.now() - startTime,
335
- assertions
336
- };
337
- }
338
- };
339
- /**
340
- * Test system resilience and error recovery
341
- */
342
- export const testSystemResilienceScenario = async () => {
343
- const startTime = Date.now();
344
- const testName = "System Resilience - Error Recovery Scenario";
345
- const assertions = { passed: 0, failed: 0, details: [] };
346
- try {
347
- // Test without token initialization to simulate auth failure
348
- console.log('🔄 Testing system resilience without token initialization...');
349
- const conversionResult = await convertItrackListingToEbayInventoryAndOffer({
350
- inventoryListingDetail: mockInventoryListingDetailRow,
351
- itrackAdapter
352
- });
353
- if (isSuccessResult(conversionResult)) {
354
- assertions.passed++;
355
- assertions.details.push('✅ Conversion succeeded without token (expected for data transformation)');
356
- // Now test sync without proper token - this should fail gracefully
357
- const { sku, ebayInventoryItem } = conversionResult.data;
358
- const syncResult = await syncInventoryToEbay({
359
- ebayAdapter,
360
- tokenManager, // Not initialized
361
- sku,
362
- inventoryItem: ebayInventoryItem
363
- });
364
- if (hasErrors(syncResult)) {
365
- assertions.passed++;
366
- assertions.details.push('✅ Sync properly failed without token initialization');
367
- console.log('✅ Expected auth failure:', formatErrorsForLogging(syncResult.errors));
368
- // Verify error type is authentication-related
369
- const hasAuthErrors = syncResult.errors?.some(e => e.type === 'authentication' ||
370
- e.message?.toLowerCase().includes('token') ||
371
- e.message?.toLowerCase().includes('auth'));
372
- if (hasAuthErrors) {
373
- assertions.passed++;
374
- assertions.details.push('✅ Authentication errors properly identified');
375
- }
376
- else {
377
- assertions.failed++;
378
- assertions.details.push('❌ Authentication errors not properly identified');
379
- }
380
- }
381
- else {
382
- assertions.failed++;
383
- assertions.details.push('❌ Expected sync to fail without token but it succeeded');
384
- }
385
- return {
386
- testName,
387
- result: syncResult,
388
- duration: Date.now() - startTime,
389
- assertions
390
- };
391
- }
392
- else {
393
- assertions.failed++;
394
- assertions.details.push('❌ Conversion failed unexpectedly');
395
- console.error('❌ Unexpected conversion failure:', formatErrorsForLogging(conversionResult.errors || []));
396
- return {
397
- testName,
398
- result: conversionResult,
399
- duration: Date.now() - startTime,
400
- assertions
401
- };
402
- }
403
- }
404
- catch (error) {
405
- // Catching errors is expected in resilience testing
406
- assertions.passed++;
407
- assertions.details.push(`✅ System handled unexpected error gracefully: ${error}`);
408
- console.log('✅ System resilience confirmed - error handled:', error);
409
- return {
410
- testName,
411
- result: { success: false, errors: [{ type: 'system', message: `Resilience test error: ${error}` }] },
412
- duration: Date.now() - startTime,
413
- assertions
414
- };
415
- }
416
- };
417
- /**
418
- * Run all integration tests and provide comprehensive summary
419
- */
420
- export const runComprehensiveIntegrationTests = async () => {
421
- console.log('🚀 Starting Comprehensive Integration Test Suite...\n');
422
- console.log('📋 This suite tests multiple use cases and scenarios to ensure system reliability\n');
423
- const testResults = [];
424
- // Run all test scenarios
425
- console.log('📋 Running End-to-End Workflow Test...');
426
- const workflowTest = await testEndToEndWorkflowSuccess();
427
- testResults.push(workflowTest);
428
- console.log('\n📋 Running Error Handling Test...');
429
- const errorTest = await testErrorHandlingScenario();
430
- testResults.push(errorTest);
431
- console.log('\n📋 Running Data Validation Test...');
432
- const validationTest = await testDataValidationScenario();
433
- testResults.push(validationTest);
434
- console.log('\n📋 Running System Resilience Test...');
435
- const resilienceTest = await testSystemResilienceScenario();
436
- testResults.push(resilienceTest);
437
- // Print comprehensive test summary
438
- console.log('\n' + '='.repeat(80));
439
- console.log('📊 COMPREHENSIVE INTEGRATION TEST SUMMARY');
440
- console.log('='.repeat(80));
441
- let totalPassed = 0;
442
- let totalFailed = 0;
443
- let totalDuration = 0;
444
- testResults.forEach((test, index) => {
445
- console.log(`\n🧪 Test ${index + 1}: ${test.testName}`);
446
- console.log(`⏱️ Duration: ${test.duration}ms`);
447
- console.log(`✅ Passed: ${test.assertions.passed}`);
448
- console.log(`❌ Failed: ${test.assertions.failed}`);
449
- const testSuccessRate = test.assertions.passed / (test.assertions.passed + test.assertions.failed) * 100;
450
- console.log(`📈 Test Success Rate: ${testSuccessRate.toFixed(1)}%`);
451
- console.log(`📋 Assertion Details:`);
452
- test.assertions.details.forEach(detail => console.log(` ${detail}`));
453
- if (test.result.success) {
454
- console.log(`📤 Final Result: SUCCESS ✅`);
455
- }
456
- else {
457
- console.log(`📤 Final Result: FAILURE ❌`);
458
- if (test.result.errors) {
459
- console.log(`🚨 Error Summary: ${formatErrorsForLogging(test.result.errors)}`);
460
- }
461
- }
462
- totalPassed += test.assertions.passed;
463
- totalFailed += test.assertions.failed;
464
- totalDuration += test.duration;
465
- });
466
- // Overall summary
467
- console.log('\n' + '='.repeat(80));
468
- console.log('🎯 OVERALL TEST SUITE RESULTS');
469
- console.log('='.repeat(80));
470
- console.log(`🧪 Total Tests Run: ${testResults.length}`);
471
- console.log(`✅ Total Assertions Passed: ${totalPassed}`);
472
- console.log(`❌ Total Assertions Failed: ${totalFailed}`);
473
- console.log(`⏱️ Total Duration: ${totalDuration}ms`);
474
- console.log(`📈 Overall Success Rate: ${((totalPassed / (totalPassed + totalFailed)) * 100).toFixed(1)}%`);
475
- // Test categorization
476
- const successfulTests = testResults.filter(t => t.result.success).length;
477
- const failedTests = testResults.length - successfulTests;
478
- console.log(`🟢 Successful Test Scenarios: ${successfulTests}/${testResults.length}`);
479
- console.log(`🔴 Failed Test Scenarios: ${failedTests}/${testResults.length}`);
480
- // Recommendations
481
- console.log('\n📝 RECOMMENDATIONS:');
482
- if (totalFailed === 0) {
483
- console.log('🎉 All tests passed! System is functioning correctly.');
484
- }
485
- else if (totalFailed < totalPassed) {
486
- console.log('⚠️ Some tests failed. Review error details above for improvements.');
487
- }
488
- else {
489
- console.log('🚨 Many tests failed. System requires attention before deployment.');
490
- }
491
- console.log('='.repeat(80));
492
- };
493
- // Execute the comprehensive test suite
494
- if (import.meta.url === `file://${process.argv[1]}`) {
495
- runComprehensiveIntegrationTests().catch(console.error);
496
- }
497
- // Export individual test functions for selective testing
498
- export { testEndToEndWorkflowSuccess };
499
- //# sourceMappingURL=integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/usecases/integration.test.ts"],"names":[],"mappings":"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"}