@stacksjs/commerce 0.70.55 → 0.70.56

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 (297) hide show
  1. package/package.json +10 -7
  2. package/src/carts/destroy.ts +0 -54
  3. package/src/carts/fetch.ts +0 -20
  4. package/src/carts/index.ts +0 -13
  5. package/src/carts/store.ts +0 -75
  6. package/src/carts/update.ts +0 -78
  7. package/src/coupons/destroy.ts +0 -49
  8. package/src/coupons/fetch.ts +0 -510
  9. package/src/coupons/index.ts +0 -30
  10. package/src/coupons/store.ts +0 -46
  11. package/src/coupons/update.ts +0 -147
  12. package/src/customers/destroy.ts +0 -62
  13. package/src/customers/fetch.ts +0 -20
  14. package/src/customers/index.ts +0 -17
  15. package/src/customers/store.ts +0 -45
  16. package/src/customers/update.ts +0 -44
  17. package/src/devices/destroy.ts +0 -54
  18. package/src/devices/export.ts +0 -98
  19. package/src/devices/fetch.ts +0 -125
  20. package/src/devices/index.ts +0 -31
  21. package/src/devices/store.ts +0 -82
  22. package/src/devices/update.ts +0 -125
  23. package/src/errors/destroy.ts +0 -54
  24. package/src/errors/fetch.ts +0 -197
  25. package/src/errors/index.ts +0 -28
  26. package/src/errors/update.ts +0 -116
  27. package/src/gift-cards/destroy.ts +0 -87
  28. package/src/gift-cards/fetch.ts +0 -431
  29. package/src/gift-cards/index.ts +0 -26
  30. package/src/gift-cards/store.ts +0 -56
  31. package/src/gift-cards/update.ts +0 -102
  32. package/src/index.ts +0 -78
  33. package/src/orders/destroy.ts +0 -111
  34. package/src/orders/events.ts +0 -121
  35. package/src/orders/export.ts +0 -158
  36. package/src/orders/fetch.ts +0 -379
  37. package/src/orders/guards.ts +0 -261
  38. package/src/orders/index.ts +0 -91
  39. package/src/orders/place-order.ts +0 -274
  40. package/src/orders/store.ts +0 -51
  41. package/src/orders/totals.ts +0 -190
  42. package/src/orders/update.ts +0 -164
  43. package/src/orders/webhook.ts +0 -312
  44. package/src/payments/destroy.ts +0 -56
  45. package/src/payments/fetch.ts +0 -288
  46. package/src/payments/index.ts +0 -16
  47. package/src/payments/store.ts +0 -63
  48. package/src/payments/update.ts +0 -52
  49. package/src/product.ts +0 -0
  50. package/src/products/categories/destroy.ts +0 -103
  51. package/src/products/categories/fetch.ts +0 -285
  52. package/src/products/categories/index.ts +0 -36
  53. package/src/products/categories/store.ts +0 -87
  54. package/src/products/categories/update.ts +0 -251
  55. package/src/products/index.ts +0 -35
  56. package/src/products/items/destroy.ts +0 -54
  57. package/src/products/items/fetch.ts +0 -282
  58. package/src/products/items/index.ts +0 -26
  59. package/src/products/items/store.ts +0 -84
  60. package/src/products/items/update.ts +0 -324
  61. package/src/products/manufacturers/destroy.ts +0 -56
  62. package/src/products/manufacturers/fetch.ts +0 -117
  63. package/src/products/manufacturers/index.ts +0 -24
  64. package/src/products/manufacturers/store.ts +0 -82
  65. package/src/products/manufacturers/update.ts +0 -113
  66. package/src/products/reviews/destroy.ts +0 -56
  67. package/src/products/reviews/fetch.ts +0 -63
  68. package/src/products/reviews/index.ts +0 -25
  69. package/src/products/reviews/store.ts +0 -46
  70. package/src/products/reviews/update.ts +0 -82
  71. package/src/products/units/destroy.ts +0 -56
  72. package/src/products/units/fetch.ts +0 -20
  73. package/src/products/units/index.ts +0 -13
  74. package/src/products/units/store.ts +0 -162
  75. package/src/products/units/update.ts +0 -159
  76. package/src/products/variants/destroy.ts +0 -56
  77. package/src/products/variants/fetch.ts +0 -20
  78. package/src/products/variants/index.ts +0 -21
  79. package/src/products/variants/store.ts +0 -136
  80. package/src/products/variants/update.ts +0 -104
  81. package/src/receipts/destroy.ts +0 -54
  82. package/src/receipts/export.ts +0 -0
  83. package/src/receipts/fetch.ts +0 -222
  84. package/src/receipts/index.ts +0 -24
  85. package/src/receipts/printer.ts +0 -69
  86. package/src/receipts/store.ts +0 -69
  87. package/src/receipts/update.ts +0 -124
  88. package/src/shippings/delivery-routes/destroy.ts +0 -54
  89. package/src/shippings/delivery-routes/fetch.ts +0 -42
  90. package/src/shippings/delivery-routes/index.ts +0 -26
  91. package/src/shippings/delivery-routes/store.ts +0 -69
  92. package/src/shippings/delivery-routes/update.ts +0 -120
  93. package/src/shippings/digital-deliveries/destroy.ts +0 -111
  94. package/src/shippings/digital-deliveries/fetch.ts +0 -20
  95. package/src/shippings/digital-deliveries/index.ts +0 -26
  96. package/src/shippings/digital-deliveries/store.ts +0 -76
  97. package/src/shippings/digital-deliveries/update.ts +0 -129
  98. package/src/shippings/drivers/destroy.ts +0 -78
  99. package/src/shippings/drivers/fetch.ts +0 -20
  100. package/src/shippings/drivers/index.ts +0 -24
  101. package/src/shippings/drivers/store.ts +0 -69
  102. package/src/shippings/drivers/update.ts +0 -117
  103. package/src/shippings/index.ts +0 -39
  104. package/src/shippings/license-keys/destroy.ts +0 -111
  105. package/src/shippings/license-keys/fetch.ts +0 -20
  106. package/src/shippings/license-keys/index.ts +0 -26
  107. package/src/shippings/license-keys/store.ts +0 -77
  108. package/src/shippings/license-keys/update.ts +0 -117
  109. package/src/shippings/shipping-methods/destroy.ts +0 -111
  110. package/src/shippings/shipping-methods/fetch.ts +0 -62
  111. package/src/shippings/shipping-methods/index.ts +0 -28
  112. package/src/shippings/shipping-methods/store.ts +0 -123
  113. package/src/shippings/shipping-methods/update.ts +0 -120
  114. package/src/shippings/shipping-rates/destroy.ts +0 -102
  115. package/src/shippings/shipping-rates/fetch.ts +0 -320
  116. package/src/shippings/shipping-rates/index.ts +0 -36
  117. package/src/shippings/shipping-rates/store.ts +0 -102
  118. package/src/shippings/shipping-rates/update.ts +0 -139
  119. package/src/shippings/shipping-zones/destroy.ts +0 -111
  120. package/src/shippings/shipping-zones/fetch.ts +0 -96
  121. package/src/shippings/shipping-zones/index.ts +0 -26
  122. package/src/shippings/shipping-zones/store.ts +0 -74
  123. package/src/shippings/shipping-zones/update.ts +0 -156
  124. package/src/tax/destroy.ts +0 -54
  125. package/src/tax/fetch.ts +0 -20
  126. package/src/tax/index.ts +0 -24
  127. package/src/tax/store.ts +0 -69
  128. package/src/tax/update.ts +0 -119
  129. package/src/tests/coupons.test.ts +0 -90
  130. package/src/tests/customers.test.ts +0 -39
  131. package/src/tests/device.test.ts +0 -111
  132. package/src/tests/digitals.test.ts +0 -31
  133. package/src/tests/drivers.test.ts +0 -25
  134. package/src/tests/gift-cards.test.ts +0 -36
  135. package/src/tests/license.test.ts +0 -31
  136. package/src/tests/manufacturers.test.ts +0 -80
  137. package/src/tests/orders.test.ts +0 -25
  138. package/src/tests/payments.test.ts +0 -75
  139. package/src/tests/rates.test.ts +0 -367
  140. package/src/tests/receipts.test.ts +0 -287
  141. package/src/tests/restaurant.test.ts +0 -522
  142. package/src/tests/reviews.test.ts +0 -165
  143. package/src/tests/routes.test.ts +0 -51
  144. package/src/tests/setup.ts +0 -149
  145. package/src/tests/shipping.test.ts +0 -88
  146. package/src/tests/tax.test.ts +0 -25
  147. package/src/tests/units.test.ts +0 -110
  148. package/src/tests/variants.test.ts +0 -133
  149. package/src/tests/waitlist.test.ts +0 -303
  150. package/src/tests/zones.test.ts +0 -86
  151. package/src/types.ts +0 -312
  152. package/src/utils/typed-stats.ts +0 -67
  153. package/src/waitlists/index.ts +0 -19
  154. package/src/waitlists/products/destroy.ts +0 -65
  155. package/src/waitlists/products/export.ts +0 -113
  156. package/src/waitlists/products/fetch.ts +0 -362
  157. package/src/waitlists/products/index.ts +0 -33
  158. package/src/waitlists/products/store.ts +0 -112
  159. package/src/waitlists/products/update.ts +0 -125
  160. package/src/waitlists/restaurant/destroy.ts +0 -65
  161. package/src/waitlists/restaurant/export.ts +0 -107
  162. package/src/waitlists/restaurant/fetch.ts +0 -538
  163. package/src/waitlists/restaurant/index.ts +0 -43
  164. package/src/waitlists/restaurant/store.ts +0 -109
  165. package/src/waitlists/restaurant/update.ts +0 -198
  166. /package/dist/{src/coupons → coupons}/destroy.d.ts +0 -0
  167. /package/dist/{src/coupons → coupons}/fetch.d.ts +0 -0
  168. /package/dist/{src/coupons → coupons}/index.d.ts +0 -0
  169. /package/dist/{src/coupons → coupons}/store.d.ts +0 -0
  170. /package/dist/{src/coupons → coupons}/update.d.ts +0 -0
  171. /package/dist/{src/customers → customers}/destroy.d.ts +0 -0
  172. /package/dist/{src/customers → customers}/fetch.d.ts +0 -0
  173. /package/dist/{src/customers → customers}/index.d.ts +0 -0
  174. /package/dist/{src/customers → customers}/store.d.ts +0 -0
  175. /package/dist/{src/customers → customers}/update.d.ts +0 -0
  176. /package/dist/{src/devices → devices}/destroy.d.ts +0 -0
  177. /package/dist/{src/devices → devices}/export.d.ts +0 -0
  178. /package/dist/{src/devices → devices}/fetch.d.ts +0 -0
  179. /package/dist/{src/devices → devices}/index.d.ts +0 -0
  180. /package/dist/{src/devices → devices}/store.d.ts +0 -0
  181. /package/dist/{src/devices → devices}/update.d.ts +0 -0
  182. /package/dist/{src/errors → errors}/destroy.d.ts +0 -0
  183. /package/dist/{src/errors → errors}/fetch.d.ts +0 -0
  184. /package/dist/{src/errors → errors}/index.d.ts +0 -0
  185. /package/dist/{src/errors → errors}/update.d.ts +0 -0
  186. /package/dist/{src/gift-cards → gift-cards}/destroy.d.ts +0 -0
  187. /package/dist/{src/gift-cards → gift-cards}/fetch.d.ts +0 -0
  188. /package/dist/{src/gift-cards → gift-cards}/index.d.ts +0 -0
  189. /package/dist/{src/gift-cards → gift-cards}/store.d.ts +0 -0
  190. /package/dist/{src/gift-cards → gift-cards}/update.d.ts +0 -0
  191. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  192. /package/dist/{src/orders → orders}/destroy.d.ts +0 -0
  193. /package/dist/{src/orders → orders}/events.d.ts +0 -0
  194. /package/dist/{src/orders → orders}/export.d.ts +0 -0
  195. /package/dist/{src/orders → orders}/fetch.d.ts +0 -0
  196. /package/dist/{src/orders → orders}/guards.d.ts +0 -0
  197. /package/dist/{src/orders → orders}/index.d.ts +0 -0
  198. /package/dist/{src/orders → orders}/place-order.d.ts +0 -0
  199. /package/dist/{src/orders → orders}/store.d.ts +0 -0
  200. /package/dist/{src/orders → orders}/totals.d.ts +0 -0
  201. /package/dist/{src/orders → orders}/update.d.ts +0 -0
  202. /package/dist/{src/orders → orders}/webhook.d.ts +0 -0
  203. /package/dist/{src/payments → payments}/destroy.d.ts +0 -0
  204. /package/dist/{src/payments → payments}/fetch.d.ts +0 -0
  205. /package/dist/{src/payments → payments}/index.d.ts +0 -0
  206. /package/dist/{src/payments → payments}/store.d.ts +0 -0
  207. /package/dist/{src/payments → payments}/update.d.ts +0 -0
  208. /package/dist/{src/products → products}/categories/destroy.d.ts +0 -0
  209. /package/dist/{src/products → products}/categories/fetch.d.ts +0 -0
  210. /package/dist/{src/products → products}/categories/index.d.ts +0 -0
  211. /package/dist/{src/products → products}/categories/store.d.ts +0 -0
  212. /package/dist/{src/products → products}/categories/update.d.ts +0 -0
  213. /package/dist/{src/products → products}/index.d.ts +0 -0
  214. /package/dist/{src/products → products}/items/destroy.d.ts +0 -0
  215. /package/dist/{src/products → products}/items/fetch.d.ts +0 -0
  216. /package/dist/{src/products → products}/items/index.d.ts +0 -0
  217. /package/dist/{src/products → products}/items/store.d.ts +0 -0
  218. /package/dist/{src/products → products}/items/update.d.ts +0 -0
  219. /package/dist/{src/products → products}/manufacturers/destroy.d.ts +0 -0
  220. /package/dist/{src/products → products}/manufacturers/fetch.d.ts +0 -0
  221. /package/dist/{src/products → products}/manufacturers/index.d.ts +0 -0
  222. /package/dist/{src/products → products}/manufacturers/store.d.ts +0 -0
  223. /package/dist/{src/products → products}/manufacturers/update.d.ts +0 -0
  224. /package/dist/{src/products → products}/reviews/destroy.d.ts +0 -0
  225. /package/dist/{src/products → products}/reviews/fetch.d.ts +0 -0
  226. /package/dist/{src/products → products}/reviews/index.d.ts +0 -0
  227. /package/dist/{src/products → products}/reviews/store.d.ts +0 -0
  228. /package/dist/{src/products → products}/reviews/update.d.ts +0 -0
  229. /package/dist/{src/products → products}/units/destroy.d.ts +0 -0
  230. /package/dist/{src/products → products}/units/fetch.d.ts +0 -0
  231. /package/dist/{src/products → products}/units/index.d.ts +0 -0
  232. /package/dist/{src/products → products}/units/store.d.ts +0 -0
  233. /package/dist/{src/products → products}/units/update.d.ts +0 -0
  234. /package/dist/{src/products → products}/variants/destroy.d.ts +0 -0
  235. /package/dist/{src/products → products}/variants/fetch.d.ts +0 -0
  236. /package/dist/{src/products → products}/variants/index.d.ts +0 -0
  237. /package/dist/{src/products → products}/variants/store.d.ts +0 -0
  238. /package/dist/{src/products → products}/variants/update.d.ts +0 -0
  239. /package/dist/{src/receipts → receipts}/destroy.d.ts +0 -0
  240. /package/dist/{src/receipts → receipts}/fetch.d.ts +0 -0
  241. /package/dist/{src/receipts → receipts}/index.d.ts +0 -0
  242. /package/dist/{src/receipts → receipts}/store.d.ts +0 -0
  243. /package/dist/{src/receipts → receipts}/update.d.ts +0 -0
  244. /package/dist/{src/shippings → shippings}/delivery-routes/destroy.d.ts +0 -0
  245. /package/dist/{src/shippings → shippings}/delivery-routes/fetch.d.ts +0 -0
  246. /package/dist/{src/shippings → shippings}/delivery-routes/index.d.ts +0 -0
  247. /package/dist/{src/shippings → shippings}/delivery-routes/store.d.ts +0 -0
  248. /package/dist/{src/shippings → shippings}/delivery-routes/update.d.ts +0 -0
  249. /package/dist/{src/shippings → shippings}/digital-deliveries/destroy.d.ts +0 -0
  250. /package/dist/{src/shippings → shippings}/digital-deliveries/fetch.d.ts +0 -0
  251. /package/dist/{src/shippings → shippings}/digital-deliveries/index.d.ts +0 -0
  252. /package/dist/{src/shippings → shippings}/digital-deliveries/store.d.ts +0 -0
  253. /package/dist/{src/shippings → shippings}/digital-deliveries/update.d.ts +0 -0
  254. /package/dist/{src/shippings → shippings}/drivers/destroy.d.ts +0 -0
  255. /package/dist/{src/shippings → shippings}/drivers/fetch.d.ts +0 -0
  256. /package/dist/{src/shippings → shippings}/drivers/index.d.ts +0 -0
  257. /package/dist/{src/shippings → shippings}/drivers/store.d.ts +0 -0
  258. /package/dist/{src/shippings → shippings}/drivers/update.d.ts +0 -0
  259. /package/dist/{src/shippings → shippings}/index.d.ts +0 -0
  260. /package/dist/{src/shippings → shippings}/license-keys/destroy.d.ts +0 -0
  261. /package/dist/{src/shippings → shippings}/license-keys/fetch.d.ts +0 -0
  262. /package/dist/{src/shippings → shippings}/license-keys/index.d.ts +0 -0
  263. /package/dist/{src/shippings → shippings}/license-keys/store.d.ts +0 -0
  264. /package/dist/{src/shippings → shippings}/license-keys/update.d.ts +0 -0
  265. /package/dist/{src/shippings → shippings}/shipping-methods/destroy.d.ts +0 -0
  266. /package/dist/{src/shippings → shippings}/shipping-methods/fetch.d.ts +0 -0
  267. /package/dist/{src/shippings → shippings}/shipping-methods/index.d.ts +0 -0
  268. /package/dist/{src/shippings → shippings}/shipping-methods/store.d.ts +0 -0
  269. /package/dist/{src/shippings → shippings}/shipping-methods/update.d.ts +0 -0
  270. /package/dist/{src/shippings → shippings}/shipping-rates/destroy.d.ts +0 -0
  271. /package/dist/{src/shippings → shippings}/shipping-rates/fetch.d.ts +0 -0
  272. /package/dist/{src/shippings → shippings}/shipping-rates/index.d.ts +0 -0
  273. /package/dist/{src/shippings → shippings}/shipping-rates/store.d.ts +0 -0
  274. /package/dist/{src/shippings → shippings}/shipping-rates/update.d.ts +0 -0
  275. /package/dist/{src/shippings → shippings}/shipping-zones/destroy.d.ts +0 -0
  276. /package/dist/{src/shippings → shippings}/shipping-zones/fetch.d.ts +0 -0
  277. /package/dist/{src/shippings → shippings}/shipping-zones/index.d.ts +0 -0
  278. /package/dist/{src/shippings → shippings}/shipping-zones/store.d.ts +0 -0
  279. /package/dist/{src/shippings → shippings}/shipping-zones/update.d.ts +0 -0
  280. /package/dist/{src/tax → tax}/destroy.d.ts +0 -0
  281. /package/dist/{src/tax → tax}/fetch.d.ts +0 -0
  282. /package/dist/{src/tax → tax}/index.d.ts +0 -0
  283. /package/dist/{src/tax → tax}/store.d.ts +0 -0
  284. /package/dist/{src/tax → tax}/update.d.ts +0 -0
  285. /package/dist/{src/types.d.ts → types.d.ts} +0 -0
  286. /package/dist/{src/utils → utils}/typed-stats.d.ts +0 -0
  287. /package/dist/{src/waitlists → waitlists}/index.d.ts +0 -0
  288. /package/dist/{src/waitlists → waitlists}/products/destroy.d.ts +0 -0
  289. /package/dist/{src/waitlists → waitlists}/products/fetch.d.ts +0 -0
  290. /package/dist/{src/waitlists → waitlists}/products/index.d.ts +0 -0
  291. /package/dist/{src/waitlists → waitlists}/products/store.d.ts +0 -0
  292. /package/dist/{src/waitlists → waitlists}/products/update.d.ts +0 -0
  293. /package/dist/{src/waitlists → waitlists}/restaurant/destroy.d.ts +0 -0
  294. /package/dist/{src/waitlists → waitlists}/restaurant/fetch.d.ts +0 -0
  295. /package/dist/{src/waitlists → waitlists}/restaurant/index.d.ts +0 -0
  296. /package/dist/{src/waitlists → waitlists}/restaurant/store.d.ts +0 -0
  297. /package/dist/{src/waitlists → waitlists}/restaurant/update.d.ts +0 -0
@@ -1,80 +0,0 @@
1
- import { beforeEach, describe, expect, it } from 'bun:test'
2
- import { refreshDatabase } from './setup'
3
- import { bulkDestroy } from '../products/manufacturers/destroy'
4
- import { fetchFeatured } from '../products/manufacturers/fetch'
5
- import { bulkStore, store } from '../products/manufacturers/store'
6
-
7
- beforeEach(async () => {
8
- await refreshDatabase()
9
- })
10
-
11
- describe('Manufacturer Module', () => {
12
- describe('store', () => {
13
- it('should create a manufacturer successfully', async () => {
14
- const data = {
15
- manufacturer: `Test Manufacturer ${Date.now()}`,
16
- description: 'Test description',
17
- country: 'USA',
18
- }
19
-
20
- const result = await store(data)
21
- expect(result).toBeDefined()
22
- })
23
- })
24
-
25
- describe('bulkStore', () => {
26
- it('should return 0 when trying to create with an empty array', async () => {
27
- const createdCount = await bulkStore([])
28
- expect(createdCount).toBe(0)
29
- })
30
- })
31
-
32
- describe('fetch methods', () => {
33
- it('should fetch featured manufacturers', async () => {
34
- // Create some featured manufacturers
35
- const baseTime = Date.now()
36
- const featuredNames = [
37
- `Featured Manufacturer 1 ${baseTime}`,
38
- `Featured Manufacturer 2 ${baseTime}`,
39
- ]
40
-
41
- for (const name of featuredNames) {
42
- const requestData = {
43
- manufacturer: name,
44
- description: 'Featured description',
45
- country: 'Spain',
46
- featured: true,
47
- }
48
- await store(requestData)
49
- }
50
-
51
- // Create a non-featured manufacturer
52
- const nonFeaturedRequest = {
53
- manufacturer: `Non-Featured Manufacturer ${baseTime}`,
54
- description: 'Non-featured description',
55
- country: 'Spain',
56
- featured: false,
57
- }
58
- await store(nonFeaturedRequest)
59
-
60
- // Fetch featured manufacturers
61
- const featuredManufacturers = await fetchFeatured(5)
62
-
63
- // Verify our featured manufacturers are in the results
64
- for (const name of featuredNames) {
65
- expect(featuredManufacturers.some(m => m.manufacturer === name)).toBe(true)
66
- }
67
-
68
- // Verify the non-featured manufacturer is not in the results
69
- expect(featuredManufacturers.some(m => m.manufacturer === `Non-Featured Manufacturer ${baseTime}`)).toBe(false)
70
- })
71
- })
72
-
73
- describe('bulkDestroy', () => {
74
- it('should return 0 when trying to delete an empty array of manufacturers', async () => {
75
- // Try to delete with an empty array
76
- const deletedCount = await bulkDestroy([])
77
- expect(deletedCount).toBe(0)
78
- })
79
- })
80
- })
@@ -1,25 +0,0 @@
1
- import { beforeEach, describe, expect, it } from 'bun:test'
2
- import { refreshDatabase } from './setup'
3
- import { bulkDestroy, bulkSoftDelete } from '../orders/destroy'
4
- import { fetchById } from '../orders/fetch'
5
-
6
- beforeEach(async () => {
7
- await refreshDatabase()
8
- })
9
-
10
- describe('Order Module', () => {
11
- it('should return undefined when fetching non-existent order', async () => {
12
- const fetchedOrder = await fetchById(99999999)
13
- expect(fetchedOrder).toBeUndefined()
14
- })
15
-
16
- it('should return 0 when bulk-deleting empty array', async () => {
17
- const deletedCount = await bulkDestroy([])
18
- expect(deletedCount).toBe(0)
19
- })
20
-
21
- it('should return 0 when bulk-soft-deleting empty array', async () => {
22
- const updatedCount = await bulkSoftDelete([])
23
- expect(updatedCount).toBe(0)
24
- })
25
- })
@@ -1,75 +0,0 @@
1
- import { beforeEach, describe, expect, it } from 'bun:test'
2
- import { formatDate } from '@stacksjs/orm'
3
- import { refreshDatabase } from './setup'
4
- import { bulkDestroy } from '../payments/destroy'
5
- import { fetchMonthlyPaymentTrends } from '../payments/fetch'
6
- import { store } from '../payments/store'
7
-
8
- beforeEach(async () => {
9
- await refreshDatabase()
10
- })
11
-
12
- describe('Payment Module', () => {
13
- describe('bulkDestroy', () => {
14
- it('should return 0 when trying to delete an empty array of payments', async () => {
15
- // Try to delete with an empty array
16
- const deletedCount = await bulkDestroy([])
17
- expect(deletedCount).toBe(0)
18
- })
19
- })
20
-
21
- describe('fetchMonthlyPaymentTrends', () => {
22
- it('should return monthly payment trends data', async () => {
23
- // Create some test payments for different months
24
- const today = formatDate(new Date())
25
-
26
- // Previous month date as ISO string
27
- const previousMonth = new Date()
28
- previousMonth.setMonth(previousMonth.getMonth() - 1)
29
- const previousMonthStr = formatDate(previousMonth)
30
-
31
- // Current month payment
32
- const currentMonthPayment = {
33
- order_id: 40,
34
- customer_id: 40,
35
- amount: 100,
36
- method: 'credit_card',
37
- status: 'completed',
38
- transaction_id: `TXN-MONTHLY-1-${Date.now()}`,
39
- created_at: today,
40
- }
41
-
42
- // Previous month payment
43
- const previousMonthPayment = {
44
- order_id: 41,
45
- customer_id: 41,
46
- amount: 200,
47
- method: 'credit_card',
48
- status: 'completed',
49
- transaction_id: `TXN-MONTHLY-2-${Date.now()}`,
50
- created_at: previousMonthStr,
51
- }
52
-
53
- await store(currentMonthPayment)
54
- await store(previousMonthPayment)
55
-
56
- // Fetch monthly trends
57
- const monthlyTrends = await fetchMonthlyPaymentTrends()
58
-
59
- // Basic structure validation
60
- expect(monthlyTrends).toBeDefined()
61
- expect(Array.isArray(monthlyTrends)).toBe(true)
62
-
63
- // Since we're testing with in-memory DB and might have issues with dates,
64
- // we'll just check the data structure instead of exact values
65
- if (monthlyTrends.length > 0) {
66
- const firstMonth = monthlyTrends[0]
67
- expect(firstMonth).toHaveProperty('month')
68
- expect(firstMonth).toHaveProperty('year')
69
- expect(firstMonth).toHaveProperty('transactions')
70
- expect(firstMonth).toHaveProperty('revenue')
71
- expect(firstMonth).toHaveProperty('average')
72
- }
73
- })
74
- })
75
- })
@@ -1,367 +0,0 @@
1
- // import { beforeEach, describe, expect, it } from 'bun:test'
2
- // import { refreshDatabase } from '@stacksjs/testing/database'
3
- // import { bulkDestroy, destroy, destroyByMethod, destroyByZone } from '../shippings/shipping-rates/destroy'
4
- // import { fetchById, formatShippingRateOptions, getRateByWeightAndZone, getRatesByZone, getShippingRatesByMethod } from '../shippings/shipping-rates/fetch'
5
- // import { bulkStore, store } from '../shippings/shipping-rates/store'
6
- // import { update, updateByMethod, updateByZone } from '../shippings/shipping-rates/update'
7
-
8
- // beforeEach(async () => {
9
- // await refreshDatabase()
10
- // })
11
-
12
- // describe('Shipping Rate Module', () => {
13
- // describe('store', () => {
14
- // it('should create a new shipping rate in the database', async () => {
15
- // const requestData = {
16
- // method: 'Standard Shipping',
17
- // zone: 'US',
18
- // weight_from: 0,
19
- // weight_to: 10,
20
- // rate: 1500, // $15.00
21
- // }
22
-
23
- // const rate = await store(requestData)
24
-
25
- // expect(rate).toBeDefined()
26
- // expect(rate?.method).toBe('Standard Shipping')
27
- // expect(rate?.zone).toBe('US')
28
- // expect(rate?.weight_from).toBe(0)
29
- // expect(rate?.weight_to).toBe(10)
30
- // expect(rate?.rate).toBe(1500)
31
- // expect(rate?.uuid).toBeDefined()
32
-
33
- // // Save the ID for further testing
34
- // const rateId = rate?.id !== undefined ? Number(rate.id) : undefined
35
-
36
- // // Verify we can fetch the rate we just created
37
- // if (rateId) {
38
- // const fetchedRate = await fetchById(rateId)
39
- // expect(fetchedRate).toBeDefined()
40
- // expect(fetchedRate?.id).toBe(rateId)
41
- // }
42
- // })
43
-
44
- // it('should create multiple shipping rates with bulk store', async () => {
45
- // const requests = [
46
- // {
47
- // method: 'Standard',
48
- // zone: 'US',
49
- // weight_from: 0,
50
- // weight_to: 5,
51
- // rate: 1000,
52
- // },
53
- // {
54
- // method: 'Express',
55
- // zone: 'US',
56
- // weight_from: 0,
57
- // weight_to: 5,
58
- // rate: 2000,
59
- // },
60
- // {
61
- // method: 'Standard',
62
- // zone: 'CA',
63
- // weight_from: 0,
64
- // weight_to: 5,
65
- // rate: 1500,
66
- // },
67
- // ]
68
-
69
- // const count = await bulkStore(requests)
70
- // expect(count).toBe(3)
71
-
72
- // // Verify rates can be found by zone
73
- // const usRates = await getRatesByZone('US')
74
- // expect(usRates.length).toBe(2)
75
- // expect(usRates[0].zone).toBe('US')
76
-
77
- // // Verify rates can be found by method
78
- // const standardRates = await getShippingRatesByMethod('Standard')
79
- // expect(standardRates.length).toBe(2)
80
- // expect(standardRates[0].method).toBe('Standard')
81
- // })
82
-
83
- // it('should return 0 when trying to bulk store an empty array', async () => {
84
- // const count = await bulkStore([])
85
- // expect(count).toBe(0)
86
- // })
87
- // })
88
-
89
- // describe('fetch', () => {
90
- // it('should get shipping rates by zone', async () => {
91
- // // Create test rates
92
- // await store({
93
- // method: 'Standard',
94
- // zone: 'US',
95
- // weight_from: 0,
96
- // weight_to: 5,
97
- // rate: 1000,
98
- // })
99
-
100
- // await store({
101
- // method: 'Express',
102
- // zone: 'US',
103
- // weight_from: 0,
104
- // weight_to: 5,
105
- // rate: 2000,
106
- // })
107
-
108
- // const rates = await getRatesByZone('US')
109
- // expect(rates.length).toBe(2)
110
- // expect(rates[0].zone).toBe('US')
111
- // expect(rates[1].zone).toBe('US')
112
- // })
113
-
114
- // it('should get shipping rate by weight and zone', async () => {
115
- // await store({
116
- // method: 'Standard',
117
- // zone: 'US',
118
- // weight_from: 0,
119
- // weight_to: 5,
120
- // rate: 1000,
121
- // })
122
-
123
- // const rate = await getRateByWeightAndZone(3, 'US')
124
- // expect(rate).toBeDefined()
125
- // expect(rate?.zone).toBe('US')
126
- // expect(rate?.weight_from).toBeLessThanOrEqual(3)
127
- // expect(rate?.weight_to).toBeGreaterThanOrEqual(3)
128
- // })
129
-
130
- // it('should format shipping rate options', async () => {
131
- // await store({
132
- // method: 'Standard',
133
- // zone: 'US',
134
- // weight_from: 0,
135
- // weight_to: 5,
136
- // rate: 1000,
137
- // })
138
-
139
- // const options = await formatShippingRateOptions()
140
- // expect(options.length).toBe(1)
141
- // expect(options[0].method).toBe('Standard')
142
- // expect(options[0].zone).toBe('US')
143
- // expect(options[0].rate).toBe(1000)
144
- // })
145
- // })
146
-
147
- // describe('update', () => {
148
- // it('should update an existing shipping rate', async () => {
149
- // // First create a rate to update
150
- // const createRequest = {
151
- // method: 'Standard',
152
- // zone: 'US',
153
- // weight_from: 0,
154
- // weight_to: 5,
155
- // rate: 1000,
156
- // }
157
-
158
- // const rate = await store(createRequest)
159
- // const rateId = rate?.id !== undefined ? Number(rate.id) : undefined
160
-
161
- // expect(rateId).toBeDefined()
162
- // if (!rateId)
163
- // throw new Error('Failed to create test shipping rate')
164
-
165
- // // Update the rate
166
- // const updateData = {
167
- // method: 'Premium',
168
- // zone: 'US',
169
- // weight_from: 0,
170
- // weight_to: 10,
171
- // rate: 2000,
172
- // }
173
-
174
- // const updatedRate = await update(rateId, updateData)
175
-
176
- // expect(updatedRate).toBeDefined()
177
- // expect(updatedRate?.method).toBe('Premium')
178
- // expect(updatedRate?.weight_to).toBe(10)
179
- // expect(updatedRate?.rate).toBe(2000)
180
- // })
181
-
182
- // it('should update rates by zone', async () => {
183
- // // Create test rates
184
- // await store({
185
- // method: 'Standard',
186
- // zone: 'US',
187
- // weight_from: 0,
188
- // weight_to: 5,
189
- // rate: 1000,
190
- // })
191
-
192
- // await store({
193
- // method: 'Express',
194
- // zone: 'US',
195
- // weight_from: 0,
196
- // weight_to: 5,
197
- // rate: 2000,
198
- // })
199
-
200
- // const updateData = {
201
- // weight_from: 1,
202
- // weight_to: 10,
203
- // rate: 1500,
204
- // }
205
-
206
- // const updatedCount = await updateByZone('US', updateData)
207
-
208
- // expect(updatedCount).toBe(2)
209
-
210
- // const updatedRates = await getRatesByZone('US')
211
- // expect(updatedRates[0].weight_from).toBe(1)
212
- // expect(updatedRates[0].weight_to).toBe(10)
213
- // expect(updatedRates[0].rate).toBe(1500)
214
- // })
215
-
216
- // it('should update rates by method', async () => {
217
- // // Create test rates
218
- // await store({
219
- // method: 'Standard',
220
- // zone: 'US',
221
- // weight_from: 0,
222
- // weight_to: 5,
223
- // rate: 1000,
224
- // })
225
-
226
- // await store({
227
- // method: 'Standard',
228
- // zone: 'CA',
229
- // weight_from: 0,
230
- // weight_to: 5,
231
- // rate: 1500,
232
- // })
233
-
234
- // const updateData = {
235
- // rate: 2000,
236
- // }
237
-
238
- // const updatedCount = await updateByMethod('Standard', updateData)
239
-
240
- // expect(updatedCount).toBe(2)
241
-
242
- // const updatedRates = await getShippingRatesByMethod('Standard')
243
- // expect(updatedRates[0].rate).toBe(2000)
244
- // expect(updatedRates[1].rate).toBe(2000)
245
- // })
246
- // })
247
-
248
- // describe('destroy', () => {
249
- // it('should delete a shipping rate from the database', async () => {
250
- // // Create a rate to delete
251
- // const request = {
252
- // method: 'Standard',
253
- // zone: 'US',
254
- // weight_from: 0,
255
- // weight_to: 5,
256
- // rate: 1000,
257
- // }
258
-
259
- // const rate = await store(request)
260
- // const rateId = rate?.id !== undefined ? Number(rate.id) : undefined
261
-
262
- // expect(rateId).toBeDefined()
263
- // if (!rateId)
264
- // throw new Error('Failed to create test shipping rate')
265
-
266
- // // Verify the rate exists
267
- // let fetchedRate = await fetchById(rateId)
268
- // expect(fetchedRate).toBeDefined()
269
-
270
- // // Delete the rate
271
- // const result = await destroy(rateId)
272
- // expect(result).toBe(true)
273
-
274
- // // Verify the rate no longer exists
275
- // fetchedRate = await fetchById(rateId)
276
- // expect(fetchedRate).toBeUndefined()
277
- // })
278
-
279
- // it('should delete multiple shipping rates from the database', async () => {
280
- // const rateIds = []
281
-
282
- // // Create 3 test rates
283
- // for (let i = 0; i < 3; i++) {
284
- // const request = {
285
- // method: `Method ${i}`,
286
- // zone: 'US',
287
- // weight_from: 0,
288
- // weight_to: 5,
289
- // rate: 1000 + i * 500,
290
- // }
291
-
292
- // const rate = await store(request)
293
- // const rateId = rate?.id !== undefined ? Number(rate.id) : undefined
294
- // expect(rateId).toBeDefined()
295
- // if (rateId)
296
- // rateIds.push(rateId)
297
- // }
298
-
299
- // expect(rateIds.length).toBe(3)
300
-
301
- // // Delete the rates
302
- // const deletedCount = await bulkDestroy(rateIds)
303
- // expect(deletedCount).toBe(3)
304
-
305
- // // Verify the rates no longer exist
306
- // for (const id of rateIds) {
307
- // const fetchedRate = await fetchById(id)
308
- // expect(fetchedRate).toBeUndefined()
309
- // }
310
- // })
311
-
312
- // it('should delete rates by zone', async () => {
313
- // // Create test rates
314
- // await store({
315
- // method: 'Standard',
316
- // zone: 'US',
317
- // weight_from: 0,
318
- // weight_to: 5,
319
- // rate: 1000,
320
- // })
321
-
322
- // await store({
323
- // method: 'Express',
324
- // zone: 'US',
325
- // weight_from: 0,
326
- // weight_to: 5,
327
- // rate: 2000,
328
- // })
329
-
330
- // const deletedCount = await destroyByZone('US')
331
- // expect(deletedCount).toBe(2)
332
-
333
- // const remainingRates = await getRatesByZone('US')
334
- // expect(remainingRates.length).toBe(0)
335
- // })
336
-
337
- // it('should delete rates by method', async () => {
338
- // // Create test rates
339
- // await store({
340
- // method: 'Standard',
341
- // zone: 'US',
342
- // weight_from: 0,
343
- // weight_to: 5,
344
- // rate: 1000,
345
- // })
346
-
347
- // await store({
348
- // method: 'Standard',
349
- // zone: 'CA',
350
- // weight_from: 0,
351
- // weight_to: 5,
352
- // rate: 1500,
353
- // })
354
-
355
- // const deletedCount = await destroyByMethod('Standard')
356
- // expect(deletedCount).toBe(2)
357
-
358
- // const remainingRates = await getShippingRatesByMethod('Standard')
359
- // expect(remainingRates.length).toBe(0)
360
- // })
361
-
362
- // it('should return 0 when trying to delete an empty array of rates', async () => {
363
- // const deletedCount = await bulkDestroy([])
364
- // expect(deletedCount).toBe(0)
365
- // })
366
- // })
367
- // })