@mohasinac/appkit 4.57.0 → 4.59.0

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 (574) hide show
  1. package/dist/.build-stamp.json +4 -4
  2. package/dist/_internal/server/features/beys/data.d.ts +44 -0
  3. package/dist/_internal/server/features/beys/data.js +107 -0
  4. package/dist/_internal/server/features/beys/og.d.ts +42 -0
  5. package/dist/_internal/server/features/beys/og.js +89 -0
  6. package/dist/_internal/server/features/parts/data.js +3 -2
  7. package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
  8. package/dist/_internal/server/jobs/handlers/messages.js +1 -1
  9. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  10. package/dist/_internal/shared/actions/action-registry.js +86 -0
  11. package/dist/_internal/shared/types/base-document.d.ts +1 -1
  12. package/dist/client.d.ts +2 -0
  13. package/dist/client.js +1 -0
  14. package/dist/constants/api-endpoints.d.ts +12 -0
  15. package/dist/constants/api-endpoints.js +10 -0
  16. package/dist/constants/field-names.d.ts +46 -0
  17. package/dist/constants/field-names.js +46 -0
  18. package/dist/constants/seed-meta.d.ts +113 -0
  19. package/dist/constants/seed-meta.js +91 -0
  20. package/dist/features/admin/components/AdminBeysView.d.ts +27 -0
  21. package/dist/features/admin/components/AdminBeysView.js +178 -0
  22. package/dist/features/admin/components/AdminPartsView.d.ts +27 -0
  23. package/dist/features/admin/components/AdminPartsView.js +160 -0
  24. package/dist/features/admin/components/OwnerQuickActions.d.ts +19 -2
  25. package/dist/features/admin/components/OwnerQuickActions.js +31 -3
  26. package/dist/features/admin/components/RecordOwnerQuickActions.d.ts +31 -0
  27. package/dist/features/admin/components/RecordOwnerQuickActions.js +128 -0
  28. package/dist/features/admin/components/ReferenceRecordEditor.d.ts +45 -0
  29. package/dist/features/admin/components/ReferenceRecordEditor.js +153 -0
  30. package/dist/features/admin/schemas/firestore.d.ts +1 -1
  31. package/dist/features/auctions/components/MarketplaceAuctionCard.js +15 -2
  32. package/dist/features/auth/permissions/constants.d.ts +1 -1
  33. package/dist/features/auth/permissions/constants.js +12 -1
  34. package/dist/features/beys/components/BeyDetailPageView.d.ts +50 -0
  35. package/dist/features/beys/components/BeyDetailPageView.js +98 -0
  36. package/dist/features/beys/schemas/firestore.d.ts +417 -0
  37. package/dist/features/beys/schemas/firestore.js +65 -0
  38. package/dist/features/blog/components/BlogFeaturedCard.js +15 -2
  39. package/dist/features/blog/components/BlogPostView.js +2 -2
  40. package/dist/features/categories/components/BrandDetailPageView.js +4 -2
  41. package/dist/features/categories/components/BundleDetailView.js +2 -2
  42. package/dist/features/categories/components/CategoryDetailPageView.js +36 -3
  43. package/dist/features/categories/components/CategoryGrid.js +24 -2
  44. package/dist/features/categories/components/FranchiseDetailPageView.js +2 -3
  45. package/dist/features/events/components/EventCard.js +15 -2
  46. package/dist/features/grouped/components/GroupedListingDetailView.js +2 -3
  47. package/dist/features/homepage/components/CustomCardsSection.js +67 -50
  48. package/dist/features/homepage/components/ShopByCategorySection.js +23 -10
  49. package/dist/features/homepage/schemas/index.d.ts +10 -10
  50. package/dist/features/parts/components/PartDetailPageView.js +5 -3
  51. package/dist/features/parts/components/PartsSearchBox.js +79 -4
  52. package/dist/features/parts/schemas/admin-edit.d.ts +81 -0
  53. package/dist/features/parts/schemas/admin-edit.js +89 -0
  54. package/dist/features/parts/schemas/firestore.d.ts +2 -1
  55. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +15 -2
  56. package/dist/features/products/components/MarketplaceBundleCard.js +15 -2
  57. package/dist/features/products/components/MarketplacePrizeDrawCard.js +15 -2
  58. package/dist/features/products/components/ProductGrid.js +18 -2
  59. package/dist/features/products/schemas/firestore.d.ts +18 -0
  60. package/dist/features/seller/components/CategoryInlineSelect.d.ts +10 -1
  61. package/dist/features/seller/components/CategoryInlineSelect.js +53 -5
  62. package/dist/features/seller/components/SellerProductShell.d.ts +39 -0
  63. package/dist/features/seller/components/SellerProductShell.js +31 -3
  64. package/dist/index.d.ts +6 -129
  65. package/dist/index.js +61 -292
  66. package/dist/next/routing/route-map.d.ts +13 -1
  67. package/dist/next/routing/route-map.js +37 -0
  68. package/dist/schemas/registry.d.ts +6 -6
  69. package/dist/server.d.ts +2 -69
  70. package/dist/server.js +8 -69
  71. package/dist/styles.css +468 -1
  72. package/dist/tailwind-utilities.css +1 -1
  73. package/dist/ui/components/PosterCard.d.ts +99 -0
  74. package/dist/ui/components/PosterCard.js +109 -0
  75. package/dist/ui/components/PosterCard.style.css +466 -0
  76. package/dist/ui/components/index.style.css +1 -0
  77. package/dist/ui/index.d.ts +2 -0
  78. package/dist/ui/index.js +2 -0
  79. package/package.json +4 -2
  80. package/scripts/seed-cli.mjs +177 -2
  81. package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
  82. package/dist/features/tester/seed-data/_happy-path.js +0 -710
  83. package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
  84. package/dist/features/tester/seed-data/_money-flows.js +0 -610
  85. package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
  86. package/dist/features/tester/seed-data/authored/_types.js +0 -35
  87. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
  88. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
  89. package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
  90. package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
  91. package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
  92. package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
  93. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
  94. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
  95. package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
  96. package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
  97. package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
  98. package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
  99. package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
  100. package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
  101. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
  102. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
  103. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
  104. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
  105. package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
  106. package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
  107. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
  108. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
  109. package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
  110. package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
  111. package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
  112. package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
  113. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
  114. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
  115. package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
  116. package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
  117. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
  118. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
  119. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
  120. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
  121. package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
  122. package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
  123. package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
  124. package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
  125. package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
  126. package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
  127. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
  128. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
  129. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
  130. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
  131. package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
  132. package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
  133. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
  134. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
  135. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
  136. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
  137. package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
  138. package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
  139. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
  140. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
  141. package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
  142. package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
  143. package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
  144. package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
  145. package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
  146. package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
  147. package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
  148. package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
  149. package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
  150. package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
  151. package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
  152. package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
  153. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
  154. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
  155. package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
  156. package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
  157. package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
  158. package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
  159. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
  160. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
  161. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
  162. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
  163. package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
  164. package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
  165. package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
  166. package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
  167. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
  168. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
  169. package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
  170. package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
  171. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
  172. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
  173. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
  174. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
  175. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
  176. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
  177. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
  178. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
  179. package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
  180. package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
  181. package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
  182. package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
  183. package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
  184. package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
  185. package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
  186. package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
  187. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
  188. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
  189. package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
  190. package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
  191. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
  192. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
  193. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
  194. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
  195. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
  196. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
  197. package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
  198. package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
  199. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
  200. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
  201. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
  202. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
  203. package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
  204. package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
  205. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
  206. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
  207. package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
  208. package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
  209. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
  210. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
  211. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
  212. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
  213. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
  214. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
  215. package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
  216. package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
  217. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
  218. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
  219. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
  220. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
  221. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
  222. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
  223. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
  224. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
  225. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
  226. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
  227. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
  228. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
  229. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
  230. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
  231. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
  232. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
  233. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
  234. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
  235. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
  236. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
  237. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
  238. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
  239. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
  240. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
  241. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
  242. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
  243. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
  244. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
  245. package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
  246. package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
  247. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
  248. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
  249. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
  250. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
  251. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
  252. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
  253. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
  254. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
  255. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
  256. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
  257. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
  258. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
  259. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
  260. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
  261. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
  262. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
  263. package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
  264. package/dist/features/tester/seed-data/authored/index.js +0 -301
  265. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
  266. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
  267. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
  268. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
  269. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
  270. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
  271. package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
  272. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
  273. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
  274. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
  275. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
  276. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
  277. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
  278. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
  279. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
  280. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
  281. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
  282. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
  283. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
  284. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
  285. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
  286. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
  287. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
  288. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
  289. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
  290. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
  291. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
  292. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
  293. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
  294. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
  295. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
  296. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
  297. package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
  298. package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
  299. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
  300. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
  301. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
  302. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
  303. package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
  304. package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
  305. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
  306. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
  307. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
  308. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
  309. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
  310. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
  311. package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
  312. package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
  313. package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
  314. package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
  315. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
  316. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
  317. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
  318. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
  319. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
  320. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
  321. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
  322. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
  323. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
  324. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
  325. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
  326. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
  327. package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
  328. package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
  329. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
  330. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
  331. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
  332. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
  333. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
  334. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
  335. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
  336. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
  337. package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
  338. package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
  339. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
  340. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
  341. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
  342. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
  343. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
  344. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
  345. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
  346. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
  347. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
  348. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
  349. package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
  350. package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
  351. package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
  352. package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
  353. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
  354. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
  355. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
  356. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
  357. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
  358. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
  359. package/dist/features/tester/seed-data/index.d.ts +0 -2
  360. package/dist/features/tester/seed-data/index.js +0 -2
  361. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
  362. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
  363. package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
  364. package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
  365. package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
  366. package/dist/features/tester/seed-data/tester-window.js +0 -66
  367. package/dist/seed/_helpers/brand-rows.d.ts +0 -35
  368. package/dist/seed/_helpers/brand-rows.js +0 -600
  369. package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
  370. package/dist/seed/_helpers/category-content-generated.js +0 -1853
  371. package/dist/seed/_helpers/category-content.d.ts +0 -68
  372. package/dist/seed/_helpers/category-content.js +0 -731
  373. package/dist/seed/_helpers/category-forest.d.ts +0 -4
  374. package/dist/seed/_helpers/category-forest.js +0 -824
  375. package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
  376. package/dist/seed/_helpers/category-images-generated.js +0 -618
  377. package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
  378. package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
  379. package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
  380. package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
  381. package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
  382. package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
  383. package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
  384. package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
  385. package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
  386. package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
  387. package/dist/seed/_helpers/category-models.d.ts +0 -12
  388. package/dist/seed/_helpers/category-models.js +0 -45
  389. package/dist/seed/_helpers/category-names.d.ts +0 -54
  390. package/dist/seed/_helpers/category-names.js +0 -118
  391. package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
  392. package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
  393. package/dist/seed/_helpers/category-parts.d.ts +0 -9
  394. package/dist/seed/_helpers/category-parts.js +0 -15022
  395. package/dist/seed/_helpers/category-tree.d.ts +0 -27
  396. package/dist/seed/_helpers/category-tree.js +0 -119
  397. package/dist/seed/_helpers/character-features.d.ts +0 -10
  398. package/dist/seed/_helpers/character-features.js +0 -120
  399. package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
  400. package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
  401. package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
  402. package/dist/seed/_helpers/franchise-rows.js +0 -189
  403. package/dist/seed/_helpers/media.d.ts +0 -67
  404. package/dist/seed/_helpers/media.js +0 -172
  405. package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
  406. package/dist/seed/_helpers/part-colours-generated.js +0 -273
  407. package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
  408. package/dist/seed/_helpers/product-search-txt.js +0 -23
  409. package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
  410. package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
  411. package/dist/seed/addresses-seed-data.d.ts +0 -2
  412. package/dist/seed/addresses-seed-data.js +0 -78
  413. package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
  414. package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
  415. package/dist/seed/bids-seed-data.d.ts +0 -2
  416. package/dist/seed/bids-seed-data.js +0 -206
  417. package/dist/seed/blog-posts-seed-data.d.ts +0 -6
  418. package/dist/seed/blog-posts-seed-data.js +0 -442
  419. package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
  420. package/dist/seed/carousel-slides-seed-data.js +0 -411
  421. package/dist/seed/carousels-seed-data.d.ts +0 -2
  422. package/dist/seed/carousels-seed-data.js +0 -36
  423. package/dist/seed/cart-seed-data.d.ts +0 -2
  424. package/dist/seed/cart-seed-data.js +0 -241
  425. package/dist/seed/catalogue-seed-data.d.ts +0 -2
  426. package/dist/seed/catalogue-seed-data.js +0 -112
  427. package/dist/seed/categories-seed-data.d.ts +0 -3
  428. package/dist/seed/categories-seed-data.js +0 -816
  429. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
  430. package/dist/seed/claimed-coupons-seed-data.js +0 -85
  431. package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
  432. package/dist/seed/coupon-usage-seed-data.js +0 -55
  433. package/dist/seed/coupons-seed-data.d.ts +0 -2
  434. package/dist/seed/coupons-seed-data.js +0 -226
  435. package/dist/seed/defaults/categories.d.ts +0 -2
  436. package/dist/seed/defaults/categories.js +0 -12
  437. package/dist/seed/defaults/faqs.d.ts +0 -2
  438. package/dist/seed/defaults/faqs.js +0 -40
  439. package/dist/seed/events-seed-data.d.ts +0 -7
  440. package/dist/seed/events-seed-data.js +0 -482
  441. package/dist/seed/factories/address.factory.d.ts +0 -21
  442. package/dist/seed/factories/address.factory.js +0 -44
  443. package/dist/seed/factories/bid.factory.d.ts +0 -15
  444. package/dist/seed/factories/bid.factory.js +0 -33
  445. package/dist/seed/factories/blog-post.factory.d.ts +0 -15
  446. package/dist/seed/factories/blog-post.factory.js +0 -22
  447. package/dist/seed/factories/carousel.factory.d.ts +0 -11
  448. package/dist/seed/factories/carousel.factory.js +0 -17
  449. package/dist/seed/factories/cart.factory.d.ts +0 -25
  450. package/dist/seed/factories/cart.factory.js +0 -35
  451. package/dist/seed/factories/category.factory.d.ts +0 -11
  452. package/dist/seed/factories/category.factory.js +0 -16
  453. package/dist/seed/factories/coupon.factory.d.ts +0 -21
  454. package/dist/seed/factories/coupon.factory.js +0 -43
  455. package/dist/seed/factories/faq.factory.d.ts +0 -10
  456. package/dist/seed/factories/faq.factory.js +0 -15
  457. package/dist/seed/factories/notification.factory.d.ts +0 -18
  458. package/dist/seed/factories/notification.factory.js +0 -39
  459. package/dist/seed/factories/order.factory.d.ts +0 -20
  460. package/dist/seed/factories/order.factory.js +0 -20
  461. package/dist/seed/factories/payout.factory.d.ts +0 -21
  462. package/dist/seed/factories/payout.factory.js +0 -38
  463. package/dist/seed/factories/product.factory.d.ts +0 -27
  464. package/dist/seed/factories/product.factory.js +0 -80
  465. package/dist/seed/factories/review.factory.d.ts +0 -14
  466. package/dist/seed/factories/review.factory.js +0 -52
  467. package/dist/seed/factories/session.factory.d.ts +0 -15
  468. package/dist/seed/factories/session.factory.js +0 -31
  469. package/dist/seed/factories/store.factory.d.ts +0 -23
  470. package/dist/seed/factories/store.factory.js +0 -47
  471. package/dist/seed/factories/user.factory.d.ts +0 -19
  472. package/dist/seed/factories/user.factory.js +0 -56
  473. package/dist/seed/faq-seed-data.d.ts +0 -18
  474. package/dist/seed/faq-seed-data.js +0 -1956
  475. package/dist/seed/firestore-indexes.d.ts +0 -12
  476. package/dist/seed/firestore-indexes.js +0 -31
  477. package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
  478. package/dist/seed/grouped-listings-seed-data.js +0 -283
  479. package/dist/seed/history-seed-data.d.ts +0 -12
  480. package/dist/seed/history-seed-data.js +0 -70
  481. package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
  482. package/dist/seed/homepage-sections-seed-data.js +0 -1018
  483. package/dist/seed/index.d.ts +0 -98
  484. package/dist/seed/index.js +0 -112
  485. package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
  486. package/dist/seed/lottery-entries-seed-data.js +0 -108
  487. package/dist/seed/manifest.d.ts +0 -16
  488. package/dist/seed/manifest.js +0 -235
  489. package/dist/seed/media-assets-seed-data.d.ts +0 -22
  490. package/dist/seed/media-assets-seed-data.js +0 -5593
  491. package/dist/seed/model-composition-seed-data.d.ts +0 -15
  492. package/dist/seed/model-composition-seed-data.js +0 -9032
  493. package/dist/seed/notifications-seed-data.d.ts +0 -2
  494. package/dist/seed/notifications-seed-data.js +0 -606
  495. package/dist/seed/offers-seed-data.d.ts +0 -2
  496. package/dist/seed/offers-seed-data.js +0 -398
  497. package/dist/seed/orders-seed-data.d.ts +0 -2
  498. package/dist/seed/orders-seed-data.js +0 -845
  499. package/dist/seed/part-glossary/chunk0.d.ts +0 -9
  500. package/dist/seed/part-glossary/chunk0.js +0 -35448
  501. package/dist/seed/part-glossary/chunk1.d.ts +0 -9
  502. package/dist/seed/part-glossary/chunk1.js +0 -40494
  503. package/dist/seed/part-glossary/chunk2.d.ts +0 -9
  504. package/dist/seed/part-glossary/chunk2.js +0 -51242
  505. package/dist/seed/part-glossary/chunk3.d.ts +0 -9
  506. package/dist/seed/part-glossary/chunk3.js +0 -53337
  507. package/dist/seed/part-glossary/chunk4.d.ts +0 -9
  508. package/dist/seed/part-glossary/chunk4.js +0 -51454
  509. package/dist/seed/part-glossary-seed-data.d.ts +0 -15
  510. package/dist/seed/part-glossary-seed-data.js +0 -25
  511. package/dist/seed/payouts-seed-data.d.ts +0 -2
  512. package/dist/seed/payouts-seed-data.js +0 -302
  513. package/dist/seed/product-features-seed-data.d.ts +0 -3
  514. package/dist/seed/product-features-seed-data.js +0 -366
  515. package/dist/seed/products-art-seed-data.d.ts +0 -2
  516. package/dist/seed/products-art-seed-data.js +0 -289
  517. package/dist/seed/products-auctions-seed-data.d.ts +0 -2
  518. package/dist/seed/products-auctions-seed-data.js +0 -475
  519. package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
  520. package/dist/seed/products-beyblade-x-seed-data.js +0 -476
  521. package/dist/seed/products-catalogue-seed-data.d.ts +0 -22
  522. package/dist/seed/products-catalogue-seed-data.js +0 -86384
  523. package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
  524. package/dist/seed/products-classifieds-seed-data.js +0 -435
  525. package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
  526. package/dist/seed/products-digital-codes-seed-data.js +0 -395
  527. package/dist/seed/products-live-items-seed-data.d.ts +0 -7
  528. package/dist/seed/products-live-items-seed-data.js +0 -269
  529. package/dist/seed/products-preorders-seed-data.d.ts +0 -2
  530. package/dist/seed/products-preorders-seed-data.js +0 -360
  531. package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
  532. package/dist/seed/products-prize-draws-seed-data.js +0 -427
  533. package/dist/seed/products-spares-seed-data.d.ts +0 -2
  534. package/dist/seed/products-spares-seed-data.js +0 -368
  535. package/dist/seed/products-standard-seed-data.d.ts +0 -2
  536. package/dist/seed/products-standard-seed-data.js +0 -632
  537. package/dist/seed/products-stickers-seed-data.d.ts +0 -2
  538. package/dist/seed/products-stickers-seed-data.js +0 -319
  539. package/dist/seed/reviews-seed-data.d.ts +0 -1
  540. package/dist/seed/reviews-seed-data.js +0 -185
  541. package/dist/seed/runner.d.ts +0 -2
  542. package/dist/seed/runner.js +0 -125
  543. package/dist/seed/scammers-seed-data.d.ts +0 -2
  544. package/dist/seed/scammers-seed-data.js +0 -235
  545. package/dist/seed/seed-market-config.d.ts +0 -48
  546. package/dist/seed/seed-market-config.js +0 -199
  547. package/dist/seed/seed-purpose.d.ts +0 -299
  548. package/dist/seed/seed-purpose.js +0 -431
  549. package/dist/seed/sessions-seed-data.d.ts +0 -3
  550. package/dist/seed/sessions-seed-data.js +0 -116
  551. package/dist/seed/shipments-seed-data.d.ts +0 -5
  552. package/dist/seed/shipments-seed-data.js +0 -185
  553. package/dist/seed/site-settings-seed-data.d.ts +0 -2
  554. package/dist/seed/site-settings-seed-data.js +0 -1069
  555. package/dist/seed/store-addresses-seed-data.d.ts +0 -18
  556. package/dist/seed/store-addresses-seed-data.js +0 -71
  557. package/dist/seed/store-extensions-seed-data.d.ts +0 -11
  558. package/dist/seed/store-extensions-seed-data.js +0 -292
  559. package/dist/seed/stores-seed-data.d.ts +0 -6
  560. package/dist/seed/stores-seed-data.js +0 -242
  561. package/dist/seed/support-tickets-seed-data.d.ts +0 -16
  562. package/dist/seed/support-tickets-seed-data.js +0 -239
  563. package/dist/seed/tax-codes-seed-data.d.ts +0 -34
  564. package/dist/seed/tax-codes-seed-data.js +0 -100
  565. package/dist/seed/test-data-ttl.d.ts +0 -29
  566. package/dist/seed/test-data-ttl.js +0 -31
  567. package/dist/seed/test-utils.d.ts +0 -49
  568. package/dist/seed/test-utils.js +0 -110
  569. package/dist/seed/types.d.ts +0 -89
  570. package/dist/seed/types.js +0 -15
  571. package/dist/seed/users-seed-data.d.ts +0 -2
  572. package/dist/seed/users-seed-data.js +0 -597
  573. package/dist/seed/wishlists-seed-data.d.ts +0 -12
  574. package/dist/seed/wishlists-seed-data.js +0 -54
@@ -1,379 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the buying/buying-coupons checklist page.
3
- * WHAT: 20 case(s), keyed by full checklist id.
4
- *
5
- * Written by hand, case by case, against the label each one states. There is no
6
- * generator: the authoring scripts were deleted once it was clear they were
7
- * scaffolding around work that is simply writing.
8
- *
9
- * 🛑 THE MULTI-STORE CART IS 2 × prizedraw-beyblade-original-vintage-vault (₹299
10
- * each = ₹598, store-letitrip-official) ALONGSIDE A BEYBLADE ARENA ITEM. Earlier
11
- * drafts said "a LetItRip Official item worth ≥₹500", which does not exist —
12
- * every store-letitrip-official fixture is a prize draw and none reaches ₹500 on
13
- * its own. A prize draw is cart-capable and its quantity is the entry count, so
14
- * two entries clear OFFICIAL10's ₹500 minimum with real seeded data. Two
15
- * fixture-request ledger entries asked for a new product for exactly this; they
16
- * did not need one.
17
- *
18
- * @tag domain:tester
19
- * @tag layer:seed
20
- * @tag pattern:none
21
- * @tag access:server-only
22
- * @tag consumers:seed-data/authored/index.ts
23
- * @tag sideEffects:none
24
- */
25
- export const authored = {
26
- "checklist-buying-buying-coupons-coupon-all-codes-listed-on-order": {
27
- roles: ["buyer"],
28
- startPage: "/cart",
29
- steps: [
30
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
31
- "Add product-beyblade-burst-regalia-genesis (₹1,399) and product-beyblade-metal-storm-pegasus (₹1,299) to the cart.",
32
- "Open /checkout and complete the address and add-ons steps.",
33
- "Type ARENA25 in the coupon field and click 'Apply'.",
34
- "Type FREESHIP499 in the coupon field and click 'Apply'.",
35
- "Choose Cash on Delivery and place the order.",
36
- "Open /user/orders and open the order just created.",
37
- "Open the invoice for the same order.",
38
- ],
39
- inputs: { coupon1: "ARENA25", coupon2: "FREESHIP499" },
40
- expectedBehaviour: "The order records the full stack in its own discounts array, and both the receipt and the invoice render from that array. The two legacy single-coupon scalar fields still exist for older orders, and rendering from those instead is what silently drops every code after the first.",
41
- expectedUiState: "The order page shows two separate discount lines, one naming ARENA25 with its amount and one naming FREESHIP499 with its own. The invoice shows the same two. Neither shows a single combined 'Discount' line, and neither shows ARENA25 alone.",
42
- expectedData: { discountLineCount: 2 },
43
- endResult: "Both lines are still there after a reload of each page. One line where two coupons were applied means the second code was never carried onto the order.",
44
- },
45
- "checklist-buying-buying-coupons-coupon-auction-offer-lane-no-coupon-field": {
46
- roles: ["buyer"],
47
- startPage: "/cart",
48
- steps: [
49
- "Sign in as rehan.sheikh@gmail.com / TempPass123!, whose seeded cart holds a locked won-auction line and a locked accepted-offer line alongside ordinary items.",
50
- "Open /cart and click the 'Won Auctions' tab.",
51
- "Click 'Proceed to checkout' from that tab.",
52
- "Read the whole checkout page, looking for a coupon input and the 'How coupons work' panel.",
53
- "Go back to /cart and click the 'Accepted Offers' tab.",
54
- "Click 'Proceed to checkout' from that tab.",
55
- "Read the whole checkout page the same way.",
56
- ],
57
- expectedBehaviour: "In the auction and offer lanes the price was already agreed — by a winning bid or an accepted offer — so a coupon has nothing to discount and the input is not rendered at all. Rendering it and rejecting whatever is typed would be worse: it invites the buyer to hunt for a code that can never work.",
58
- expectedUiState: "Neither lane shows a coupon input or a 'How coupons work' panel. Each shows an explanatory banner in the shape of 'You're paying for your Auction wins. The price is already agreed, so coupons don't apply and the rest of your cart stays where it is.'",
59
- endResult: "Display-only; nothing persists. Requires the account to hold a won auction and an accepted offer; the seeded cart for rehan.sheikh@gmail.com holds both.",
60
- },
61
- "checklist-buying-buying-coupons-coupon-category-restriction-accepts-matching-cart": {
62
- roles: ["buyer"],
63
- startPage: "/cart",
64
- steps: [
65
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
66
- "Add product-beyblade-metal-storm-pegasus (₹1,299, Metal Fight) to the cart.",
67
- "Add product-beyblade-burst-regalia-genesis (₹1,399, Beyblade Burst) to the cart.",
68
- "Open /checkout and complete the address and add-ons steps.",
69
- "Type SEALED20 in the coupon field and click 'Apply'.",
70
- "Read the discount amount shown beside SEALED20.",
71
- ],
72
- inputs: { coupon: "SEALED20", burstItemPrice: 1399, metalItemPrice: 1299 },
73
- expectedBehaviour: "SEALED20 is restricted to the Burst and X categories, and the cart now holds a Burst item, so it applies — but only to that item. Products carry their full ancestor chain in categorySlugs, so the eligibility test is a set intersection, not a single-slug equality.",
74
- expectedUiState: "SEALED20 appears in the applied list with no error. Its discount is 20% of ₹1,399 — about ₹279.80 — not 20% of the ₹2,698 combined subtotal. A discount near ₹539 means the restriction was ignored and the Metal item was discounted too.",
75
- expectedData: { eligibleSubtotal: 1399 },
76
- endResult: "Reloading /checkout shows SEALED20 still applied at the Burst-only amount.",
77
- },
78
- "checklist-buying-buying-coupons-coupon-category-restriction-rejects-non-matching-cart": {
79
- roles: ["buyer"],
80
- startPage: "/cart",
81
- steps: [
82
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
83
- "Add product-beyblade-metal-storm-pegasus (₹1,299, Metal Fight) to the cart and nothing else.",
84
- "Open /checkout and complete the address and add-ons steps.",
85
- "Type SEALED20 in the coupon field and click 'Apply'.",
86
- ],
87
- inputs: { coupon: "SEALED20", itemPrice: 1299 },
88
- expectedBehaviour: "With only Metal-generation items in the cart, nothing intersects SEALED20's Burst and X restriction, so it is refused. The category is resolved lazily — the cart snapshots no category, so the check fetches one only when a coupon actually carries a category restriction, and this is that case.",
89
- expectedUiState: "An error explains that the coupon does not apply to the items in the cart. SEALED20 does not appear in the applied list. The error names the reason rather than reading simply 'Invalid coupon'.",
90
- expectedData: { couponApplied: false },
91
- endResult: "Reloading /checkout shows SEALED20 absent.",
92
- },
93
- "checklist-buying-buying-coupons-coupon-expired-in-cart-dropped-at-placement": {
94
- roles: ["buyer", "admin"],
95
- startPage: "/cart",
96
- steps: [
97
- "Sign in as vivaan.kapoor@gmail.com / TempPass123! in window A.",
98
- "Add 2 × product-beyblade-original-driger-v (₹1,799 each, ₹3,598 total) to the cart — ARENAVIP needs a ₹2,000 minimum and a Beyblade Original or Metal category.",
99
- "Open /checkout, complete the address and add-ons steps, type ARENA25 in the coupon field and click 'Apply'.",
100
- "Read the ARENA25 discount amount and the order total, and leave the page open without reloading it.",
101
- "In window B, sign in as admin@letitrip.in / TempPass123! and open /admin/coupons.",
102
- "Open ARENA25 and set it to inactive, then save.",
103
- "Return to window A without reloading and place the order with Cash on Delivery.",
104
- "Open /user/orders and open the order just created.",
105
- ],
106
- inputs: { coupon: "ARENA25" },
107
- expectedBehaviour: "Every applied coupon is re-checked against the items actually being ordered at placement time, not trusted from the amount frozen on the cart when it was applied. A coupon that lapsed while it sat there is dropped and reported — never allowed to silently discount the order, and never allowed to fail the whole checkout, since the buyer is on the payment step and cannot fix a lapsed coupon from there.",
108
- expectedUiState: "The order is placed. A message at placement, or on the order, says ARENA25 was removed because it was no longer valid. The order page has no ARENA25 discount line and its total is the undiscounted one — not the total shown in window A before the coupon lapsed.",
109
- expectedData: { arena25OnOrder: false },
110
- endResult: "Reactivate ARENA25 in /admin/coupons afterwards; other cases apply it. An order that kept the discount means placement trusted the cart's frozen amount.",
111
- },
112
- "checklist-buying-buying-coupons-coupon-help-visible-cart": {
113
- roles: ["buyer"],
114
- startPage: "/cart",
115
- steps: [
116
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
117
- "Add 2 × product-beyblade-original-driger-v (₹1,799 each, ₹3,598 total) to the cart — ARENAVIP needs a ₹2,000 minimum and a Beyblade Original or Metal category.",
118
- "Open /cart and find the Order Summary panel.",
119
- "Read the collapsed disclosure labelled 'How coupons work' with its 'Stacking rules' sub-label.",
120
- "Click that disclosure header.",
121
- "Look for a coupon input anywhere on the page.",
122
- ],
123
- expectedBehaviour: "The cart explains the stacking rules but takes no codes — codes are entered at checkout only. One place to type a coupon means one place for it to be wrong.",
124
- expectedUiState: "The disclosure opens to three sections: 'You can use more than one coupon', 'Where each discount lands', and 'Why a coupon might not apply'. There is no coupon input and no Apply button anywhere on /cart.",
125
- endResult: "The expanded state is UI-only and the disclosure is collapsed again after a reload.",
126
- },
127
- "checklist-buying-buying-coupons-coupon-help-visible-checkout": {
128
- roles: ["buyer"],
129
- startPage: "/cart",
130
- steps: [
131
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
132
- "Add 2 × product-beyblade-original-driger-v (₹1,799 each, ₹3,598 total) to the cart — ARENAVIP needs a ₹2,000 minimum and a Beyblade Original or Metal category.",
133
- "Open /checkout and complete the address and add-ons steps.",
134
- "Find the coupon input and the 'How coupons work' panel beneath it.",
135
- "Click the disclosure header.",
136
- "Read every sentence and compare them with the cart version.",
137
- ],
138
- expectedBehaviour: "The checkout copy is the cart copy plus one sentence about revalidation, because revalidation is a checkout-time behaviour and stating it in the cart would describe something that has not happened yet.",
139
- expectedUiState: "The same three sections as the cart, plus a sentence in the shape of 'Coupons are re-checked when you place the order. If one has expired or run out while it sat in your cart, it's removed and your total is recalculated before payment.' A coupon input with an 'Apply' button sits above the panel.",
140
- endResult: "UI-only; the disclosure is collapsed again after a reload.",
141
- },
142
- "checklist-buying-buying-coupons-coupon-help-visible-listing": {
143
- roles: ["guest"],
144
- startPage: "/promotions",
145
- steps: [
146
- "Open /promotions and click the 'Coupons' tab.",
147
- "Click the 'How coupons work' disclosure above the coupon grid.",
148
- "Read all three sections and note their exact wording.",
149
- "Open /stores/store-beyblade-arena and go to its coupons tab.",
150
- "Click the 'How coupons work' disclosure there.",
151
- "Read all three sections and compare them word for word with what was noted.",
152
- ],
153
- expectedBehaviour: "All four surfaces — promotions, store coupons, cart and checkout — render the same copy from one constant. Buyer-facing rules that drift between pages teach buyers to distrust the page they are on.",
154
- expectedUiState: "Both disclosures read 'How coupons work' with the sub-label 'Stacking rules', and their three sections carry identical bullet text. Any wording difference between the two is the failure, however small.",
155
- endResult: "UI-only; nothing persists.",
156
- },
157
- "checklist-buying-buying-coupons-coupon-min-purchase-uses-eligible-subtotal": {
158
- roles: ["buyer"],
159
- startPage: "/cart",
160
- steps: [
161
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
162
- "Add product-beyblade-burst-valkyrie (₹999, Beyblade Arena) to the cart.",
163
- "Add prizedraw-beyblade-original-vintage-vault (₹299, LetItRip Official) to the cart and set its quantity to 2, making ₹598 from that store.",
164
- "Open /checkout and complete the address and add-ons steps.",
165
- "Type ARENA25 in the coupon field and click 'Apply'.",
166
- ],
167
- inputs: { coupon: "ARENA25", arenaSubtotal: 999, otherStoreSubtotal: 598, cartTotal: 1597 },
168
- expectedBehaviour: "The ₹1,000 minimum is measured against the items the coupon could actually discount — ₹999 of Beyblade Arena stock — not against the ₹1,597 cart total. Measuring the whole cart would let a buyer unlock a store's coupon by adding another store's items.",
169
- expectedUiState: "ARENA25 is refused with a minimum-purchase message and does not appear in the applied list, even though the cart total is comfortably over ₹1,000.",
170
- expectedData: { couponApplied: false },
171
- endResult: "Reloading /checkout shows ARENA25 absent. Acceptance here means the minimum was tested against the cart total.",
172
- },
173
- "checklist-buying-buying-coupons-coupon-persists-across-reload": {
174
- roles: ["buyer"],
175
- startPage: "/cart",
176
- steps: [
177
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
178
- "Add 2 × product-beyblade-original-driger-v (₹1,799 each, ₹3,598 total) to the cart — ARENAVIP needs a ₹2,000 minimum and a Beyblade Original or Metal category.",
179
- "Open /checkout and complete the address and add-ons steps.",
180
- "Type ARENA25 in the coupon field and click 'Apply'.",
181
- "Type FREESHIP499 in the coupon field and click 'Apply'.",
182
- "Read both discount amounts.",
183
- "Reload /checkout and read them again.",
184
- "Open /cart, then open /checkout again, and read them a third time.",
185
- ],
186
- inputs: { coupon1: "ARENA25", coupon2: "FREESHIP499" },
187
- expectedBehaviour: "Applied coupons live on the cart document server-side, so they survive a reload and a navigation away and back. Holding them in component state would lose them on any of the three.",
188
- expectedUiState: "Both codes are listed with the same amounts on all three readings. Losing one after the cart round-trip is as much a failure as losing it on reload.",
189
- endResult: "Both coupons are still applied at the end with unchanged amounts.",
190
- },
191
- "checklist-buying-buying-coupons-coupon-remove-one-of-many": {
192
- roles: ["buyer"],
193
- startPage: "/cart",
194
- steps: [
195
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
196
- "Add product-beyblade-burst-regalia-genesis (₹1,399) and product-beyblade-metal-storm-pegasus (₹1,299) to the cart.",
197
- "Open /checkout and complete the address and add-ons steps.",
198
- "Type ARENA25 in the coupon field and click 'Apply'.",
199
- "Type FREESHIP499 in the coupon field and click 'Apply'.",
200
- "Read the FREESHIP499 discount amount and the order total.",
201
- "Click the remove control beside FREESHIP499.",
202
- "Read the order total again.",
203
- ],
204
- inputs: { coupon1: "ARENA25", coupon2: "FREESHIP499" },
205
- expectedBehaviour: "Removing one coupon leaves the other applied and recomputes the total by exactly the removed amount. A removal that clears the whole stack, or that removes the row without recomputing, are the two failures here.",
206
- expectedUiState: "The applied list holds ARENA25 only. The total has risen by precisely the FREESHIP499 amount read before removal — not by a different figure, and not unchanged.",
207
- expectedData: { remainingCouponCount: 1 },
208
- endResult: "Reloading /checkout shows ARENA25 applied and FREESHIP499 gone.",
209
- },
210
- "checklist-buying-buying-coupons-coupon-split-across-per-store-orders": {
211
- roles: ["buyer"],
212
- startPage: "/cart",
213
- steps: [
214
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
215
- "Add product-beyblade-burst-regalia-genesis (₹1,399, Beyblade Arena) to the cart.",
216
- "Add prizedraw-beyblade-original-vintage-vault (₹299, LetItRip Official) and set its quantity to 2.",
217
- "Open /checkout and complete the address and add-ons steps.",
218
- "Type ARENA25 in the coupon field and click 'Apply'.",
219
- "Type FREESHIP499 in the coupon field and click 'Apply'.",
220
- "Read the FREESHIP499 discount total, then place the order with Cash on Delivery.",
221
- "Open /user/orders and open the Beyblade Arena order.",
222
- "Open the LetItRip Official order.",
223
- "Add the FREESHIP499 amounts from both orders together and compare with the checkout figure.",
224
- ],
225
- inputs: { storeCoupon: "ARENA25", globalCoupon: "FREESHIP499" },
226
- expectedBehaviour: "A cart splits into one order per store, so a store coupon lands only on its own store's order while a platform coupon is prorated across both by their share of the subtotal. The prorated parts must reconcile exactly to what the buyer was shown, or the platform absorbed or overcharged the difference.",
227
- expectedUiState: "ARENA25 appears on the Beyblade Arena order and NOT on the LetItRip Official one. FREESHIP499 appears on both, and the two amounts sum to the single figure shown at checkout — not to more, and not to less.",
228
- expectedData: { orderCount: 2 },
229
- endResult: "Both orders keep their discount lines after a reload, and the reconciliation still holds.",
230
- },
231
- "checklist-buying-buying-coupons-coupon-stack-duplicate-code-rejected": {
232
- roles: ["buyer"],
233
- startPage: "/cart",
234
- steps: [
235
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
236
- "Add 2 × product-beyblade-original-driger-v (₹1,799 each, ₹3,598 total) to the cart — ARENAVIP needs a ₹2,000 minimum and a Beyblade Original or Metal category.",
237
- "Open /checkout and complete the address and add-ons steps.",
238
- "Type ARENA25 in the coupon field and click 'Apply'.",
239
- "Type ARENA25 in the coupon field again and click 'Apply'.",
240
- "Read the applied list and the order total.",
241
- ],
242
- inputs: { coupon: "ARENA25" },
243
- expectedBehaviour: "The same code cannot occupy its bucket twice. The dangerous failure is not the duplicate row but the doubled discount that would come with it.",
244
- expectedUiState: "ARENA25 appears exactly once. An error says it is already applied. The total is unchanged from after the first application.",
245
- expectedData: { arena25RowCount: 1 },
246
- endResult: "Reloading /checkout shows a single ARENA25 entry.",
247
- },
248
- "checklist-buying-buying-coupons-coupon-stack-second-global-rejected": {
249
- roles: ["buyer"],
250
- startPage: "/cart",
251
- steps: [
252
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
253
- "Add product-beyblade-burst-regalia-genesis (₹1,399) and product-beyblade-original-driger-v (₹1,799) to the cart.",
254
- "Open /checkout and complete the address and add-ons steps.",
255
- "Type FREESHIP499 in the coupon field and click 'Apply'.",
256
- "Type BLADER50 in the coupon field and click 'Apply'.",
257
- "Read the error and the applied list.",
258
- "Click the remove control beside FREESHIP499.",
259
- "Type BLADER50 in the coupon field and click 'Apply'.",
260
- ],
261
- inputs: { globalCoupon1: "FREESHIP499", globalCoupon2: "BLADER50" },
262
- expectedBehaviour: "There is exactly one platform-wide slot. The second half of this case is the important half: freeing the slot must make the previously-refused code acceptable, proving the rejection was a slot conflict and not the code being invalid.",
263
- expectedUiState: "The second apply is refused with a message naming FREESHIP499 as the coupon already holding the slot, in the shape of 'Only one platform-wide coupon can be applied at a time (FREESHIP499). Remove it first.' After removing it, BLADER50 is accepted and appears in the list with its discount.",
264
- expectedData: { globalCouponCount: 1 },
265
- endResult: "Reloading /checkout shows BLADER50 applied and FREESHIP499 gone.",
266
- },
267
- "checklist-buying-buying-coupons-coupon-stack-second-store-coupon-rejected": {
268
- roles: ["buyer"],
269
- startPage: "/cart",
270
- steps: [
271
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
272
- "Add product-beyblade-burst-regalia-genesis (₹1,399, Beyblade Arena) to the cart.",
273
- "Open /checkout and complete the address and add-ons steps.",
274
- "Type ARENA25 in the coupon field and click 'Apply'.",
275
- "Type SEALED20 in the coupon field and click 'Apply'.",
276
- "Read the error and the applied list.",
277
- ],
278
- inputs: { storeCoupon1: "ARENA25", storeCoupon2: "SEALED20" },
279
- expectedBehaviour: "One store coupon per store. The second is refused rather than swapped in — silently replacing the first would change the discount under a buyer who thought they were adding to it.",
280
- expectedUiState: "ARENA25 is still applied and its amount is unchanged. The error names it, in the shape of 'A coupon for this store is already applied (ARENA25). Remove it first.' SEALED20 is not in the list.",
281
- expectedData: { storeCouponCount: 1 },
282
- endResult: "Reloading /checkout shows ARENA25 applied and SEALED20 absent.",
283
- },
284
- "checklist-buying-buying-coupons-coupon-stack-two-stores-plus-global": {
285
- roles: ["buyer"],
286
- startPage: "/cart",
287
- steps: [
288
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
289
- "Add product-beyblade-burst-regalia-genesis (₹1,399, Beyblade Arena) to the cart.",
290
- "Add prizedraw-beyblade-original-vintage-vault (₹299, LetItRip Official) and set its quantity to 2, making ₹598 from that store.",
291
- "Open /checkout and complete the address and add-ons steps.",
292
- "Type ARENA25 in the coupon field and click 'Apply'.",
293
- "Type OFFICIAL10 in the coupon field and click 'Apply'.",
294
- "Type FREESHIP499 in the coupon field and click 'Apply'.",
295
- "Read the applied list and the order total.",
296
- ],
297
- inputs: {
298
- arenaCoupon: "ARENA25",
299
- officialCoupon: "OFFICIAL10",
300
- globalCoupon: "FREESHIP499",
301
- officialSubtotal: 598,
302
- },
303
- expectedBehaviour: "The buckets are one coupon per store plus one platform-wide, so a two-store cart legitimately carries three coupons at once. This is the positive case the two rejection cases above are the mirror of — without it, a rule that refused everything would also pass them.",
304
- expectedUiState: "Three rows are listed, each with its own amount and its own remove control: ARENA25, OFFICIAL10 and FREESHIP499. No error appears. The total falls by the sum of the three.",
305
- expectedData: { appliedCouponCount: 3 },
306
- endResult: "All three survive a reload with the same amounts. The ₹598 from two prize-draw entries is what clears OFFICIAL10's ₹500 minimum — a single entry at ₹299 would be refused, and that refusal would look like a stacking failure.",
307
- },
308
- "checklist-buying-buying-coupons-coupon-store-scope-limited-to-its-own-items": {
309
- roles: ["buyer"],
310
- startPage: "/cart",
311
- steps: [
312
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
313
- "Add product-beyblade-burst-regalia-genesis (₹1,399, Beyblade Arena) to the cart.",
314
- "Add prizedraw-beyblade-original-vintage-vault (₹299, LetItRip Official) and set its quantity to 2.",
315
- "Open /checkout and complete the address and add-ons steps.",
316
- "Type ARENA25 in the coupon field and click 'Apply'.",
317
- "Read the ARENA25 discount amount and the cart total.",
318
- "Open /cart, remove the prize-draw line, and open /checkout again.",
319
- "Read the ARENA25 discount amount and the cart total again.",
320
- ],
321
- inputs: { coupon: "ARENA25", arenaSubtotal: 1399 },
322
- expectedBehaviour: "A store coupon discounts only its own store's items, so removing another store's items changes the cart total and leaves the discount untouched. A discount that moves with the whole-cart total is being applied across stores.",
323
- expectedUiState: "The ARENA25 amount is identical in both readings. The cart total is lower in the second. A changed discount amount is the failure.",
324
- expectedData: { discountBasis: 1399 },
325
- endResult: "Reloading /checkout shows the same Arena-only discount amount.",
326
- },
327
- "checklist-buying-buying-coupons-coupon-summary-total-matches-sum": {
328
- roles: ["buyer"],
329
- startPage: "/cart",
330
- steps: [
331
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
332
- "Add product-beyblade-burst-regalia-genesis (₹1,399) and product-beyblade-metal-storm-pegasus (₹1,299) to the cart.",
333
- "Open /checkout and complete the address and add-ons steps.",
334
- "Type ARENA25 in the coupon field and click 'Apply'.",
335
- "Type FREESHIP499 in the coupon field and click 'Apply'.",
336
- "Write down each coupon's own discount amount from the applied list.",
337
- "Write down the Order Summary's discount line, subtotal, shipping, fees, GST and Total.",
338
- "Add the two coupon amounts and compare with the discount line, then check the Total against the other figures.",
339
- ],
340
- inputs: { coupon1: "ARENA25", coupon2: "FREESHIP499" },
341
- expectedBehaviour: "The per-coupon amounts and the summary line come from the same computation, so they reconcile exactly. A summary that is computed separately from the rows is how a buyer is shown one figure and charged another.",
342
- expectedUiState: "The two per-coupon amounts add up to the summary discount line to the paisa. The Total equals subtotal minus that discount, plus shipping, fees and GST. Any rounding gap is a fail, not a rounding artefact.",
343
- endResult: "Reloading /checkout reproduces every figure, confirming they are computed rather than left over in component state.",
344
- },
345
- "checklist-buying-buying-coupons-coupon-usage-limit-increments-after-order": {
346
- roles: ["admin", "buyer"],
347
- startPage: "/admin/coupons",
348
- steps: [
349
- "Sign in as admin@letitrip.in / TempPass123!, which can read /admin/coupons and buy.",
350
- "Open /admin/coupons, find ARENAVIP, and write down its current usage count.",
351
- "Add 2 × product-beyblade-original-driger-v (₹1,799 each, ₹3,598 total) to the cart — ARENAVIP needs a ₹2,000 minimum and a Beyblade Original or Metal category.",
352
- "Open /checkout, complete the address and add-ons steps, type ARENAVIP in the coupon field, click 'Apply', and place the order with Cash on Delivery.",
353
- "Open /admin/coupons and read ARENAVIP's usage count again.",
354
- "Add 2 × product-beyblade-metal-storm-pegasus (₹1,299 each, ₹2,598 total) to the cart.",
355
- "Open /checkout, complete the address and add-ons steps, type ARENAVIP in the coupon field, and click 'Apply'.",
356
- ],
357
- inputs: { coupon: "ARENAVIP", perUserLimit: 1, discountPercent: 15, maxDiscount: 750, minPurchase: 2000 },
358
- expectedBehaviour: "Redemption is counted per user as well as globally, and the per-user count is written at checkout as a side effect of applying the coupon. ARENAVIP is perUserLimit 1 against a totalLimit of 50 with only 12 used, so this case is about per-user exhaustion rather than the coupon running out: the SAME buyer's second attempt is refused while the coupon itself stays live for everyone else.",
359
- expectedUiState: "The usage count in /admin/coupons is exactly one higher after the order. The second apply, by the same account, is refused with a limit-reached message and ARENAVIP does not enter the applied list. The coupon still shows as active in the admin list — it is exhausted for this user, not withdrawn.",
360
- expectedData: { perUserLimit: 1, usageIncrement: 1 },
361
- endResult: "The incremented count persists in /admin/coupons after a reload. A count that does not move means the per-user usage write is fire-and-forget and failed silently.",
362
- },
363
- "checklist-buying-buying-coupons-coupon-wallet-apply-lands-on-checkout": {
364
- roles: ["buyer"],
365
- startPage: "/promotions",
366
- steps: [
367
- "Sign in as vivaan.kapoor@gmail.com / TempPass123!.",
368
- "Open /promotions, click the 'Coupons' tab, and claim ARENA25.",
369
- "Add 2 × product-beyblade-original-driger-v (₹1,799 each, ₹3,598 total) to the cart — ARENAVIP needs a ₹2,000 minimum and a Beyblade Original or Metal category.",
370
- "Open /user/coupons.",
371
- "Click 'Use' on the ARENA25 row.",
372
- "Read where the browser lands and what the coupon section shows.",
373
- ],
374
- inputs: { coupon: "ARENA25" },
375
- expectedBehaviour: "'Use' carries the code through to checkout and applies it, rather than dropping the buyer on a page where they must retype it. If it cannot apply to the current cart the reason is shown — a button that navigates and silently does nothing is worse than no button.",
376
- expectedUiState: "The browser ends on /checkout with ARENA25 already in the applied list and its discount showing. With an empty or ineligible cart, an explanatory message names the reason instead.",
377
- endResult: "The pre-applied coupon survives a reload of /checkout. The claim step at the start is required: /user/coupons is the wallet, and an unclaimed coupon has no row there to press 'Use' on.",
378
- },
379
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;