@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,165 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the admin/classifieds-digitalcodes-live page.
3
- * WHAT: 3 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
- * 🛑 THESE ARE MODERATION CASES, so each ends on the PUBLIC page. An approval that
10
- * updates a dashboard row and never reaches the public listing is the same defect
11
- * as a rejection that leaves the item live — both look correct from the admin's
12
- * seat, and only the public view can tell them apart.
13
- *
14
- * 🛑 STATUS IS CHANGED FROM THE LIST, NOT THE EDITOR (corrected 2026-09-29).
15
- *
16
- * All three cases said "open its detail" and then "change its status and save".
17
- * `AdminProductEditorView` has exactly three sections — Listing type, Details,
18
- * Inventory — and `status` appears in it only as a default and as read-only
19
- * header text. There is no status control to use. The real ones are on
20
- * /admin/products' row menu: 'Approve' (writes published), 'Reject', and a
21
- * 'Quick edit' drawer whose Status select is the one place an admin picks a
22
- * value. So the procedure now names the row menu.
23
- *
24
- * 🛑 AND THE TYPE TABS IN THAT EDITOR RENDER NOTHING. Every `<TabsContent>` is
25
- * self-closing: the strip flips the `listingType` discriminator and shows no
26
- * type-specific fields at all. So a moderator opening a live listing sees no
27
- * species, no jurisdiction list and no video — which is precisely the
28
- * "deciding blind" failure the live case was written to catch, and it is real
29
- * today. The case now says where to look and what the finding is, rather than
30
- * sending a tester to hunt a panel that does not exist. Recorded in OUTOFSCOPE.
31
- *
32
- * 🛑 THE CODE POOL IS EDIT-MODE ONLY. `renderDigitalContentPool` is gated on
33
- * `mode === "edit" && listingType === "digital-code" && productId`, so a
34
- * digital-code listing cannot be created WITH codes in one pass — it is created,
35
- * saved, and reopened. "Code Pool Size (optional)" on the create form is a
36
- * seller-typed number that the server recounts from the real subcollection; it
37
- * is not the pool.
38
- *
39
- * 🛑 /admin/classified, /admin/digital-codes AND /admin/live ARE BROWSE-ONLY.
40
- * All three are thin wrappers over `buildListingTypeListingConfig`, which
41
- * supplies a search box, a sort and a `status` filter — and no row actions, no
42
- * bulk actions, no Approve/Reject and no Quick edit. The catalogue `href`s
43
- * pointed at them, which is a real page where the case's central action cannot
44
- * be performed; they now point at /admin/products, and `startPage` says the
45
- * same. Both Status and Type on that page are chip groups inside the FILTER
46
- * DRAWER, not an always-visible row, and Type is multi-select.
47
- *
48
- * Field labels used below are the real ones: 'City' / 'Preferred Contact Method'
49
- * (section "Meetup Details"), 'Code Pool Size (optional)' /
50
- * 'Redemption Instructions (optional)', 'Species / Common Name' /
51
- * 'Jurisdictions where sale is permitted'.
52
- *
53
- * @tag domain:tester
54
- * @tag layer:seed
55
- * @tag pattern:none
56
- * @tag access:server-only
57
- * @tag consumers:seed-data/authored/index.ts
58
- * @tag sideEffects:none
59
- */
60
- export const authored = {
61
- "checklist-admin-classifieds-digitalcodes-live-classified-create-moderate": {
62
- roles: ["admin", "seller", "guest"],
63
- startPage: "/admin/products",
64
- steps: [
65
- "Sign in as tyson@beybladearena.in / TempPass123!, open /store/classified/new, and create a listing titled 'QA Classified admin-moderate' at 900 with City 'Pune' under Meetup Details. Publish it and note the slug on its public URL.",
66
- "Sign in as admin@letitrip.in / TempPass123! and open /admin/products.",
67
- "Open the filter drawer, tick Classified in its multi-select Type chip group, apply, and find the listing.",
68
- "In that same filter drawer read the Status chip group — All, Pending, Published, Draft, Archived — and select each in turn, noting which one returns this listing.",
69
- "Open the row menu, choose 'Quick edit', set Status to Archived, and save.",
70
- "Open the listing's public URL and read what is shown.",
71
- "Quick-edit it back to Published, then sign in as tyson@beybladearena.in and delete it from /store/classified.",
72
- ],
73
- inputs: { title: "QA Classified admin-moderate", price: 900, city: "Pune", archivedVia: "Quick edit" },
74
- expectedBehaviour: "An admin status change reaches the public read path. Every status chip must also name a value the documents actually hold — a chip whose id is a display label rather than the stored value matches nothing forever and returns an empty list with no error.",
75
- expectedUiState: "While published the listing is returned by the Published chip and by no other. After the archive the public URL no longer renders it as a live listing, and the Archived chip returns it — the admin row will look correct either way, so the public page is the oracle. A chip returning nothing while All holds rows of that status is a separate finding worth naming.",
76
- expectedData: { statusAfterArchive: "archived", chipReturningIt: "Archived" },
77
- endResult: "The listing is Published again and then deleted. Re-open the public URL after the delete: a page still rendering it is a cache or projection failure.",
78
- },
79
- "checklist-admin-classifieds-digitalcodes-live-digitalcode-create-moderate": {
80
- roles: ["admin", "seller", "guest"],
81
- startPage: "/admin/products",
82
- steps: [
83
- "Sign in as tyson@beybladearena.in / TempPass123!, open /store/digital-codes/new, and create a listing titled 'QA Digital Code admin-moderate' at 350. Publish it.",
84
- "REOPEN it from /store/digital-codes for editing — the code pool is only mounted in edit mode — and add three codes QA-CODE-1, QA-CODE-2, QA-CODE-3. Note the slug on its public URL.",
85
- "Sign in as admin@letitrip.in / TempPass123!, open /admin/products, open the filter drawer, tick Digital Code in its Type chip group, apply, and find the listing.",
86
- "Read the row and every column: are the actual CODE STRINGS visible anywhere in the list?",
87
- "Open the row menu, choose 'Quick edit', set Status to Archived, and save.",
88
- "Open the listing's public URL and read what is shown.",
89
- "Quick-edit it back to Published, then sign in as tyson@beybladearena.in and delete it from /store/digital-codes.",
90
- ],
91
- inputs: {
92
- title: "QA Digital Code admin-moderate",
93
- price: 350,
94
- codeCount: 3,
95
- codes: "QA-CODE-1, QA-CODE-2, QA-CODE-3",
96
- },
97
- expectedBehaviour: "Moderation works the same for this type, and the code pool is the thing worth watching: an unsold code is inventory a buyer will pay for, so it must not be readable from a list view. Availability for this type reads the nested pool count rather than a stock figure, which is why the pool has to exist before the listing can be judged available at all.",
98
- expectedUiState: "The listing is findable under the Digital Code chip and its archive takes effect publicly. NO unredeemed code string appears in the admin list — not in a column, not in a tooltip, not in the quick-edit drawer. If any is visible, quote it and say exactly where; that is a finding, not a pass.",
99
- expectedData: { codesVisibleInAdminList: false, statusAfterArchive: "archived" },
100
- endResult: "The listing is Published again and then deleted. Record whether an admin can read an unredeemed code anywhere in the product — a 'no' here is a leak of paid inventory.",
101
- },
102
- "checklist-admin-classifieds-digitalcodes-live-live-create-moderate": {
103
- roles: ["admin", "seller", "guest"],
104
- startPage: "/admin/products",
105
- steps: [
106
- "Sign in as tyson@beybladearena.in / TempPass123!, open /store/live/new, and create a listing titled 'QA Live Item admin-moderate' at 3000 with 'Species / Common Name' set to Dog and 'Jurisdictions where sale is permitted' set to Maharashtra only.",
107
- "Attach /test-media/sample-video.mp4 as its video and publish it. Note the slug on its public URL.",
108
- "Sign in as admin@letitrip.in / TempPass123!, open /admin/products, open the filter drawer, tick Live Item in its Type chip group, apply, and find the listing.",
109
- "Open the row menu and then the editor at /admin/products/{its id}/edit. Read every section and record whether the species, the jurisdiction list and the video appear ANYWHERE.",
110
- "Return to /admin/products, open the row menu, choose 'Quick edit', set Status to Archived, and save.",
111
- "Open the listing's public URL and read what is shown.",
112
- "Quick-edit it back to Published, then sign in as tyson@beybladearena.in and delete it from /store/live.",
113
- ],
114
- inputs: {
115
- title: "QA Live Item admin-moderate",
116
- price: 3000,
117
- species: "Dog",
118
- jurisdictions: "Maharashtra",
119
- video: "/test-media/sample-video.mp4",
120
- },
121
- expectedBehaviour: "A live listing is the one type where moderation has a duty beyond commerce — the jurisdiction list decides who may lawfully receive the animal or plant, and the video is what the moderator judges the listing on. Both must be visible to the admin, or the moderator is approving and rejecting blind.",
122
- expectedUiState: "🛑 EXPECT THIS TO FAIL ON THE ADMIN HALF, AND RECORD IT AS A FAILURE. The admin editor has three sections — Listing type, Details, Inventory — and its listing-type tabs render EMPTY content, so no species, no jurisdiction list and no video is shown. Confirm that by reading the sections and say so, naming the three sections you found. The archive half does hold: it takes effect on the public page. Keep the two apart in the comment — the moderation mechanics work and the information the moderator needs is absent.",
123
- expectedData: { adminSectionsSeen: 3, speciesShownToAdmin: false, videoShownToAdmin: false },
124
- endResult: "The listing is Published again and then deleted. Record specifically whether the video was viewable from any admin surface — that is the finding, not the status change.",
125
- },
126
- /*
127
- * 🛑 ADDED 2026-09-29. The three cases above all archive; none of them used
128
- * the 'Reject' action, and it is the one that writes a value the rest of the
129
- * product cannot represent.
130
- *
131
- * `ProductStatus` is draft | published | in_review | archived — four values,
132
- * no 'rejected'. `ADMIN_PRODUCT_STATUS_TABS` mirrors those four plus All.
133
- * But AdminProductsView's Reject row action writes `{ status: "rejected" }`,
134
- * and the PATCH schema types status as a bare `z.string().optional()`, so it
135
- * is persisted verbatim with no validation.
136
- *
137
- * The effect looks right — every public query filters `status == published`,
138
- * so the listing does disappear — which is exactly why nobody noticed. The
139
- * cost is on the way back: the row now matches no status chip, so an admin
140
- * can only reach it under All, and the seller's own status filters cannot
141
- * isolate it either. Root Cause #33's shape on the WRITE side.
142
- *
143
- * Written as a case rather than fixed: choosing between adding 'rejected' to
144
- * the union and making Reject write 'archived' is a product decision.
145
- */
146
- "checklist-admin-classifieds-digitalcodes-live-reject-status-has-no-chip": {
147
- roles: ["admin", "seller"],
148
- startPage: "/admin/products",
149
- steps: [
150
- "Sign in as tyson@beybladearena.in / TempPass123!, open /store/classified/new, and create a listing titled 'QA Classified reject-status' at 700 with City 'Pune'. Publish it.",
151
- "Sign in as admin@letitrip.in / TempPass123! and open /admin/products.",
152
- "Open the filter drawer, tick Classified in its Type chip group, apply, then find the listing, open its row menu and click 'Reject'.",
153
- "Read the status shown on the row.",
154
- "In the filter drawer select each Status chip in turn — Pending, Published, Draft, Archived — and record whether ANY of them returns the listing.",
155
- "Select the All status chip and confirm it is still there.",
156
- "Open the listing's public URL and read what is shown.",
157
- "Quick-edit it back to Published, then sign in as tyson@beybladearena.in and delete it from /store/classified.",
158
- ],
159
- inputs: { title: "QA Classified reject-status", price: 700, city: "Pune", action: "Reject" },
160
- expectedBehaviour: "A rejected listing must stay reachable by the admin who rejected it. Hiding it from buyers is only half the job — a moderator needs to find it again to explain, reverse or escalate the decision, and the status filters are the only tool for that.",
161
- expectedUiState: "🛑 EXPECT THE FILTER HALF TO FAIL. The row reads 'rejected', a value ProductStatus does not have, so none of the four status chips returns it and it is reachable only under All. Record which chips you tried and that each came back without it. The public half should hold — the listing is gone from its public URL, because every public query filters on published.",
162
- expectedData: { statusOnRow: "rejected", chipsReturningIt: 0 },
163
- endResult: "The listing is Published again and then deleted. Two findings to keep separate: a status no chip matches, and — if the public page still renders it — a far worse one.",
164
- },
165
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,267 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the admin/content-deletes page.
3
- * WHAT: 14 case(s), keyed by full checklist id.
4
- *
5
- * 🛑 A DELETE IS THE ONE OPERATION WHOSE BUG CANNOT BE UNDONE, AND BEFORE THIS PAGE
6
- * THE WHOLE CATALOGUE HELD THREE CASES THAT TESTED ONE. Creates and edits were
7
- * covered thoroughly; the operation that destroys data was not, which is exactly
8
- * backwards.
9
- *
10
- * Every case here deletes something it created, or restores what it changed. Where
11
- * that is not possible — a seeded record with dependents — the case checks the
12
- * REFUSAL rather than performing the delete.
13
- *
14
- * Two distinctions run through the page: disable is not delete, and unpublish is
15
- * not delete. A screen that blurs either invites an admin to reach for the
16
- * irreversible one when they wanted the reversible 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
- const SIGN_IN_ADMIN = "Sign in as admin@letitrip.in / TempPass123!.";
26
- export const authored = {
27
- "checklist-admin-content-deletes-homepage-section-edit-persists": {
28
- roles: ["admin"],
29
- startPage: "/admin/sections",
30
- steps: [
31
- SIGN_IN_ADMIN,
32
- "Open /admin/sections and open a section for edit.",
33
- "Change its heading to 'QA Section Heading Probe' and save.",
34
- "Reload the admin page and read the heading.",
35
- "Sign out, open /, and find that section on the homepage.",
36
- "Read its heading there.",
37
- "Restore the original heading.",
38
- ],
39
- inputs: { heading: "QA Section Heading Probe" },
40
- expectedBehaviour: "An edit persists and the public page follows. A handler that validates a body, returns success and never calls a write is the failure this checks for — the response echoes the submission back, so it is indistinguishable from a real save without a reload.",
41
- expectedUiState: "The new heading is on the admin page after the reload and on the public homepage. A value that reverts is the finding despite the success message.",
42
- endResult: "The original heading is restored.",
43
- },
44
- "checklist-admin-content-deletes-homepage-section-delete": {
45
- roles: ["admin"],
46
- startPage: "/admin/sections",
47
- steps: [
48
- SIGN_IN_ADMIN,
49
- "Open /admin/sections and note the full order of sections.",
50
- "Create a new section so the delete has a disposable target.",
51
- "Note where it sits in the order.",
52
- "Delete it and confirm.",
53
- "Read the remaining sections and their order.",
54
- "Open the public homepage and check the order matches and no gap is left.",
55
- ],
56
- expectedBehaviour: "Deleting a section removes it and leaves the rest in order. Ordering keyed on array position rather than on a stored order value shifts every later section by one on a delete, so the page silently reorders itself.",
57
- expectedUiState: "The section is gone from both the admin list and the homepage, with the remaining sections in their original relative order and no empty band where it was.",
58
- endResult: "Only the section this case created is gone.",
59
- },
60
- "checklist-admin-content-deletes-homepage-section-reorder": {
61
- roles: ["admin"],
62
- startPage: "/admin/sections",
63
- steps: [
64
- SIGN_IN_ADMIN,
65
- "Open /admin/sections and write down the current order of the first four sections.",
66
- "Move the third section above the first.",
67
- "Save if a save is required.",
68
- "Reload and read the order.",
69
- "Open the public homepage and read the order there.",
70
- "Restore the original order.",
71
- ],
72
- expectedBehaviour: "A reorder persists and the public page follows it. A reorder that holds in the admin list and not publicly means the order is being stored somewhere the public read does not consult.",
73
- expectedUiState: "The new order survives the reload and matches on the public homepage. Agreement between the two is what makes the reorder real.",
74
- endResult: "The original order is restored.",
75
- },
76
- "checklist-admin-content-deletes-homepage-section-disable-vs-delete": {
77
- roles: ["admin"],
78
- startPage: "/admin/sections",
79
- steps: [
80
- SIGN_IN_ADMIN,
81
- "Open /admin/sections and disable a section rather than deleting it.",
82
- "Sign out, open /, and check the section is gone from the homepage.",
83
- "Return to the admin page and check the section is still listed, marked as disabled.",
84
- "Re-enable it and check it returns publicly.",
85
- "Read the two controls side by side and check which is which is obvious without trying them.",
86
- "Check the delete control carries a confirmation and the disable control does not need one.",
87
- ],
88
- expectedBehaviour: "Disable hides a section reversibly; delete removes it permanently. The two must be visually distinct, because an admin wanting to hide a section for a week and reaching for the wrong one loses its whole configuration.",
89
- expectedUiState: "A disabled section is absent publicly and still present, marked, in the admin list. The destructive control is visually distinct and confirms; the reversible one does not.",
90
- endResult: "The section is re-enabled.",
91
- },
92
- "checklist-admin-content-deletes-carousel-slide-edit-persists": {
93
- roles: ["admin"],
94
- startPage: "/admin/carousel",
95
- steps: [
96
- SIGN_IN_ADMIN,
97
- "Open /admin/carousel and open a slide for edit.",
98
- "Change its title to 'QA Slide Title Probe' and change its autoplay delay.",
99
- "Save.",
100
- "Reload the admin page and read both values.",
101
- "Open the public homepage and watch the carousel reach that slide.",
102
- "Restore both original values.",
103
- ],
104
- inputs: { title: "QA Slide Title Probe" },
105
- expectedBehaviour: "Both the content and the settings persist and reach the homepage. Settings are the half more likely to be dropped, because nothing on the admin screen shows whether an autoplay delay was actually written.",
106
- expectedUiState: "Both values survive the reload and the homepage carousel reflects them. A title that saved while the delay reverted is the finding.",
107
- endResult: "The original title and delay are restored.",
108
- },
109
- "checklist-admin-content-deletes-carousel-slide-delete": {
110
- roles: ["admin"],
111
- startPage: "/admin/carousel",
112
- steps: [
113
- SIGN_IN_ADMIN,
114
- "Open /admin/carousel and create a slide titled 'QA Disposable Slide' so the delete has a safe target.",
115
- "Activate it and check it appears on the homepage rotation.",
116
- "Delete it and confirm.",
117
- "Reload the admin list and check it is gone.",
118
- "Open the public homepage and watch a full rotation.",
119
- "Check the remaining slides still advance on their own.",
120
- ],
121
- inputs: { title: "QA Disposable Slide" },
122
- expectedBehaviour: "Deleting a slide removes it from the rotation and the rest keep autoplaying. A rotation driven by an index into the old list stalls or throws on the removed position, and the carousel then simply stops — which reads as a design choice rather than a failure.",
123
- expectedUiState: "The slide is gone from the admin list and from the rotation, and the remaining slides advance automatically through a full cycle.",
124
- endResult: "Only the disposable slide is gone.",
125
- },
126
- "checklist-admin-content-deletes-carousel-active-limit-enforced": {
127
- roles: ["admin"],
128
- startPage: "/admin/carousel",
129
- steps: [
130
- SIGN_IN_ADMIN,
131
- "Open /admin/carousel and write down which slides are active — five of the six seeded slides are, and one is inactive.",
132
- "Read whether the page states a maximum anywhere.",
133
- "Activate the sixth slide and save.",
134
- "Read what happens: a refusal naming the maximum, or a successful save.",
135
- "Reload /admin/carousel and count the active slides again.",
136
- "Sign out, open /, and count the slides actually in the homepage rotation.",
137
- "Sign back in and restore the original active set from step 2.",
138
- ],
139
- inputs: { maxActiveSlides: 5, seededSlides: 6 },
140
- expectedBehaviour: "Exceeding the active-slide maximum should be refused with a reason. Silently accepting the extra slide and then rendering only the first few is worse than refusing — the admin sees their slide saved and never learns it is not being shown.",
141
- expectedUiState: "🛑 EXPECT THE SAVE TO SUCCEED, AND RECORD IT AS A FAILURE. The limit is enforced in the appkit handlers mounted at /api/carousel, and the admin editor posts to /api/admin/carousel, whose `active` field is a bare optional boolean with no count check. So expect six active slides in the admin list and FIVE in the homepage rotation — the public read slices to five. Report both numbers; the gap between them is the finding, and it is exactly the saved-but-not-rendered slide this case names.",
142
- expectedData: { activeSlidesInAdmin: 6, slidesOnHomepage: 5 },
143
- endResult: "The original active set is restored, so the homepage rotates the same five slides as before.",
144
- },
145
- "checklist-admin-content-deletes-blog-edit-persists": {
146
- roles: ["admin"],
147
- startPage: "/admin/blog",
148
- steps: [
149
- SIGN_IN_ADMIN,
150
- "Open /admin/blog and open blog-spot-genuine-takara-tomy-beyblade for edit, writing down its Slug.",
151
- "Change its title to 'QA Blog Title Probe', edit a sentence of its body, and replace its cover image with /test-media/sample-image.png.",
152
- "Save.",
153
- "Reload the admin editor and check all three changes are there.",
154
- "Sign out, open /blog/blog-spot-genuine-takara-tomy-beyblade, and check all three again.",
155
- "Restore the original title, sentence and cover image.",
156
- ],
157
- inputs: { title: "QA Blog Title Probe", coverImage: "/test-media/sample-image.png" },
158
- expectedBehaviour: "All three kinds of change persist together — a scalar field, rich body content and a media reference. Media is the one most often dropped on update: a create path that finalises a newly-uploaded file while the update path does not leaves the image in temporary storage, so it renders once and disappears later.",
159
- expectedUiState: "Title, body and cover image all changed on both the editor and the public page. An image that renders immediately and is broken after a reload is the finalise failure.",
160
- endResult: "All three original values are restored.",
161
- },
162
- "checklist-admin-content-deletes-blog-delete-removes-public-page": {
163
- roles: ["admin"],
164
- startPage: "/admin/blog",
165
- steps: [
166
- SIGN_IN_ADMIN,
167
- "Open /admin/blog and create a post titled 'QA Disposable Post', publish it.",
168
- "Open /blog/qa-disposable-post — the slug is the title slugified — and note that it renders.",
169
- "Return to /admin/blog and delete it, confirming.",
170
- "Reload the public URL with the network panel open.",
171
- "Read the response status.",
172
- "Open /blog and check the post is gone from the list.",
173
- ],
174
- inputs: { title: "QA Disposable Post" },
175
- expectedBehaviour: "A deleted post's URL returns 404. A 200 carrying an empty article keeps the URL in search indexes indefinitely and shows visitors a page that looks broken rather than gone.",
176
- expectedUiState: "The public URL returns 404 with a readable not-found page, and the post is absent from the blog list. A 200 with an empty article is the finding.",
177
- expectedData: { statusCode: 404 },
178
- endResult: "Only the disposable post is gone.",
179
- },
180
- "checklist-admin-content-deletes-blog-unpublish-vs-delete": {
181
- roles: ["admin"],
182
- startPage: "/admin/blog",
183
- steps: [
184
- SIGN_IN_ADMIN,
185
- "Open /admin/blog and unpublish a post rather than deleting it.",
186
- "Open /blog publicly and check it is absent from the list.",
187
- "Open its public URL directly as a signed-out visitor and read what happens.",
188
- "Return to /admin/blog and check the post is still listed and still editable.",
189
- "Republish it and check it returns to the public list.",
190
- "Read the two controls and check delete is visually distinct from unpublish.",
191
- ],
192
- expectedBehaviour: "Unpublishing hides a post reversibly and keeps it editable; deleting removes it. The controls have to look different, because the reversible and the irreversible action sit next to each other in the same menu.",
193
- expectedUiState: "The unpublished post is absent publicly, still present and editable in admin, and returns on republish. The delete control is visually distinct and confirms.",
194
- endResult: "The post is republished.",
195
- },
196
- "checklist-admin-content-deletes-listing-delete-removes-public-page": {
197
- roles: ["admin"],
198
- startPage: "/admin/products",
199
- steps: [
200
- SIGN_IN_ADMIN,
201
- "Create a product titled 'QA Disposable Listing' priced at 299 and publish it.",
202
- "Open its public detail page and note the URL, and find it in /products.",
203
- "Return to /admin/products and delete it, confirming.",
204
- "Reload the public URL with the network panel open and read the status.",
205
- "Open /products and search for it.",
206
- "Open /search and search for it there too.",
207
- ],
208
- inputs: { title: "QA Disposable Listing", price: 299 },
209
- expectedBehaviour: "A deleted listing leaves every grid it appeared in, not only its own page. Search is the one most likely to lag, because its index is written on save — a listing removed from the collection but left in the index renders a result card that 404s when clicked.",
210
- expectedUiState: "The detail URL returns 404 and the listing is absent from both the catalogue grid and search results. A search result that leads to a 404 is the finding.",
211
- expectedData: { statusCode: 404 },
212
- endResult: "Only the disposable listing is gone.",
213
- },
214
- "checklist-admin-content-deletes-listing-delete-with-orders-refused-or-archived": {
215
- roles: ["admin"],
216
- startPage: "/admin/products",
217
- steps: [
218
- SIGN_IN_ADMIN,
219
- "Open /admin/orders, open any order, and write down its id and the exact title of one product it contains.",
220
- "Open /admin/products, find that product, and delete it.",
221
- "Read whether the interface refuses, warns about the order, or simply deletes.",
222
- "Reload /admin/products and confirm whether the product is gone.",
223
- "Reopen the order from step 2 and read whether its rows still render with that title and price.",
224
- "Click the product link on the order's row and read exactly where it lands — a product page, a 404, or nothing.",
225
- "Repeat the link check as the BUYER on /user/orders for the same order, since that is where a real person would meet it.",
226
- ],
227
- inputs: { deleteIsHard: true },
228
- expectedBehaviour: "An order's rows denormalise the title, price and image they display, so an existing order survives the product's deletion — but the buyer's link into that product breaks. Either outcome can be defensible; what matters is that it is deliberate and stated rather than discovered by a buyer opening an old order.",
229
- expectedUiState: "🛑 EXPECT A HARD DELETE. `adminDeleteProduct` checks only that a prize draw is not locked and then deletes the document; there is no order check anywhere, and no archive path. So expect no refusal and no warning. The order should still render its rows from the denormalised title and price — if it does NOT, that is a far more serious finding than the broken link. Record where the product link lands, on both the admin and the buyer surfaces.",
230
- expectedData: { deleteRefused: false, orderRowsStillRender: true },
231
- endResult: "A seeded product has been destroyed. `products` is seed-owned and is re-seeded around every run, so this is recoverable — but re-seed rather than attempting a manual repair, and do not run this case against a product another case in the same batch depends on.",
232
- needsReview: true,
233
- reviewNote: "What the code does is now settled — a hard delete with no order guard. What is NOT settled is whether that is the intended behaviour, so the case records the consequence for a real buyer rather than asserting a verdict on the design.",
234
- },
235
- "checklist-admin-content-deletes-delete-confirmations-name-the-record": {
236
- roles: ["admin"],
237
- startPage: "/admin/products",
238
- steps: [
239
- SIGN_IN_ADMIN,
240
- "Open /admin/products and trigger a delete on a specific row.",
241
- "Read the confirmation dialog WITHOUT confirming, and note whether it names that record.",
242
- "Cancel.",
243
- "Repeat on /admin/blog, /admin/carousel and /admin/categories.",
244
- "Record any confirmation that says only 'this item' or 'are you sure'.",
245
- ],
246
- expectedBehaviour: "A delete confirmation names the record it will remove. A generic prompt gives an admin nothing to check against — the most common delete mistake is the right action on the wrong row, and only the name catches it.",
247
- expectedUiState: "Each confirmation quotes the record's title or id. A generic prompt is a finding, named by surface.",
248
- endResult: "Nothing is deleted.",
249
- },
250
- "checklist-admin-content-deletes-delete-reflected-immediately": {
251
- roles: ["admin"],
252
- startPage: "/admin/products",
253
- steps: [
254
- SIGN_IN_ADMIN,
255
- "Create a product titled 'QA Delete Refresh Probe' priced at 199.",
256
- "Delete it from the list and confirm.",
257
- "WITHOUT reloading, read whether the row has gone.",
258
- "Wait ten seconds and read the list again.",
259
- "Reload and read it once more.",
260
- "Open the list in a second tab and read it there.",
261
- ],
262
- inputs: { title: "QA Delete Refresh Probe", price: 199 },
263
- expectedBehaviour: "The row goes immediately and stays gone. A row that returns after a moment means a cached copy re-hydrated over the deletion — the delete did happen, but the screen contradicts it, which is the worst possible signal to give somebody who just deleted something.",
264
- expectedUiState: "The row is gone immediately, still gone after ten seconds, after a reload and in a second tab. A row that reappears at any point is the finding.",
265
- endResult: "The probe product is deleted.",
266
- },
267
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;