@mohasinac/appkit 4.58.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 (556) hide show
  1. package/dist/.build-stamp.json +3 -3
  2. package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
  3. package/dist/_internal/server/jobs/handlers/messages.js +1 -1
  4. package/dist/_internal/shared/types/base-document.d.ts +1 -1
  5. package/dist/constants/seed-meta.d.ts +113 -0
  6. package/dist/constants/seed-meta.js +91 -0
  7. package/dist/index.d.ts +0 -131
  8. package/dist/index.js +50 -294
  9. package/dist/server.d.ts +0 -69
  10. package/dist/server.js +0 -69
  11. package/package.json +4 -2
  12. package/scripts/seed-cli.mjs +69 -1
  13. package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
  14. package/dist/features/tester/seed-data/_happy-path.js +0 -710
  15. package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
  16. package/dist/features/tester/seed-data/_money-flows.js +0 -610
  17. package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
  18. package/dist/features/tester/seed-data/authored/_types.js +0 -35
  19. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
  20. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
  21. package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
  22. package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
  23. package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
  24. package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
  25. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
  26. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
  27. package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
  28. package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
  29. package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
  30. package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
  31. package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
  32. package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
  33. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
  34. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
  35. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
  36. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
  37. package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
  38. package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
  39. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
  40. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
  41. package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
  42. package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
  43. package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
  44. package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
  45. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
  46. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
  47. package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
  48. package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
  49. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
  50. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
  51. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
  52. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
  53. package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
  54. package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
  55. package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
  56. package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
  57. package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
  58. package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
  59. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
  60. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
  61. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
  62. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
  63. package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
  64. package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
  65. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
  66. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
  67. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
  68. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
  69. package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
  70. package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
  71. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
  72. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
  73. package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
  74. package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
  75. package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
  76. package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
  77. package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
  78. package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
  79. package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
  80. package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
  81. package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
  82. package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
  83. package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
  84. package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
  85. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
  86. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
  87. package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
  88. package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
  89. package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
  90. package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
  91. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
  92. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
  93. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
  94. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
  95. package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
  96. package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
  97. package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
  98. package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
  99. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
  100. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
  101. package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
  102. package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
  103. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
  104. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
  105. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
  106. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
  107. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
  108. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
  109. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
  110. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
  111. package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
  112. package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
  113. package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
  114. package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
  115. package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
  116. package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
  117. package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
  118. package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
  119. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
  120. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
  121. package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
  122. package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
  123. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
  124. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
  125. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
  126. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
  127. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
  128. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
  129. package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
  130. package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
  131. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
  132. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
  133. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
  134. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
  135. package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
  136. package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
  137. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
  138. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
  139. package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
  140. package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
  141. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
  142. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
  143. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
  144. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
  145. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
  146. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
  147. package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
  148. package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
  149. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
  150. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
  151. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
  152. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
  153. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
  154. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
  155. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
  156. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
  157. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
  158. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
  159. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
  160. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
  161. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
  162. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
  163. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
  164. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
  165. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
  166. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
  167. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
  168. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
  169. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
  170. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
  171. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
  172. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
  173. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
  174. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
  175. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
  176. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
  177. package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
  178. package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
  179. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
  180. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
  181. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
  182. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
  183. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
  184. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
  185. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
  186. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
  187. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
  188. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
  189. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
  190. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
  191. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
  192. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
  193. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
  194. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
  195. package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
  196. package/dist/features/tester/seed-data/authored/index.js +0 -301
  197. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
  198. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
  199. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
  200. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
  201. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
  202. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
  203. package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
  204. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
  205. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
  206. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
  207. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
  208. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
  209. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
  210. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
  211. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
  212. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
  213. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
  214. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
  215. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
  216. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
  217. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
  218. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
  219. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
  220. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
  221. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
  222. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
  223. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
  224. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
  225. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
  226. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
  227. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
  228. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
  229. package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
  230. package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
  231. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
  232. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
  233. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
  234. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
  235. package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
  236. package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
  237. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
  238. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
  239. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
  240. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
  241. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
  242. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
  243. package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
  244. package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
  245. package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
  246. package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
  247. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
  248. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
  249. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
  250. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
  251. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
  252. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
  253. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
  254. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
  255. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
  256. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
  257. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
  258. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
  259. package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
  260. package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
  261. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
  262. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
  263. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
  264. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
  265. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
  266. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
  267. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
  268. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
  269. package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
  270. package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
  271. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
  272. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
  273. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
  274. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
  275. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
  276. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
  277. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
  278. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
  279. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
  280. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
  281. package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
  282. package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
  283. package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
  284. package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
  285. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
  286. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
  287. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
  288. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
  289. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
  290. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
  291. package/dist/features/tester/seed-data/index.d.ts +0 -2
  292. package/dist/features/tester/seed-data/index.js +0 -2
  293. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
  294. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
  295. package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
  296. package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
  297. package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
  298. package/dist/features/tester/seed-data/tester-window.js +0 -66
  299. package/dist/seed/_helpers/brand-rows.d.ts +0 -35
  300. package/dist/seed/_helpers/brand-rows.js +0 -600
  301. package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
  302. package/dist/seed/_helpers/category-content-generated.js +0 -1853
  303. package/dist/seed/_helpers/category-content.d.ts +0 -68
  304. package/dist/seed/_helpers/category-content.js +0 -731
  305. package/dist/seed/_helpers/category-forest.d.ts +0 -4
  306. package/dist/seed/_helpers/category-forest.js +0 -824
  307. package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
  308. package/dist/seed/_helpers/category-images-generated.js +0 -618
  309. package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
  310. package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
  311. package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
  312. package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
  313. package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
  314. package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
  315. package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
  316. package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
  317. package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
  318. package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
  319. package/dist/seed/_helpers/category-models.d.ts +0 -12
  320. package/dist/seed/_helpers/category-models.js +0 -45
  321. package/dist/seed/_helpers/category-names.d.ts +0 -54
  322. package/dist/seed/_helpers/category-names.js +0 -118
  323. package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
  324. package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
  325. package/dist/seed/_helpers/category-parts.d.ts +0 -9
  326. package/dist/seed/_helpers/category-parts.js +0 -15022
  327. package/dist/seed/_helpers/category-tree.d.ts +0 -27
  328. package/dist/seed/_helpers/category-tree.js +0 -119
  329. package/dist/seed/_helpers/character-features.d.ts +0 -10
  330. package/dist/seed/_helpers/character-features.js +0 -120
  331. package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
  332. package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
  333. package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
  334. package/dist/seed/_helpers/franchise-rows.js +0 -189
  335. package/dist/seed/_helpers/media.d.ts +0 -67
  336. package/dist/seed/_helpers/media.js +0 -172
  337. package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
  338. package/dist/seed/_helpers/part-colours-generated.js +0 -273
  339. package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
  340. package/dist/seed/_helpers/product-search-txt.js +0 -23
  341. package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
  342. package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
  343. package/dist/seed/addresses-seed-data.d.ts +0 -2
  344. package/dist/seed/addresses-seed-data.js +0 -78
  345. package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
  346. package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
  347. package/dist/seed/bey-products-seed-data.d.ts +0 -18
  348. package/dist/seed/bey-products-seed-data.js +0 -18011
  349. package/dist/seed/beys/chunk0.d.ts +0 -17
  350. package/dist/seed/beys/chunk0.js +0 -36733
  351. package/dist/seed/beys/chunk1.d.ts +0 -17
  352. package/dist/seed/beys/chunk1.js +0 -35728
  353. package/dist/seed/beys/chunk2.d.ts +0 -17
  354. package/dist/seed/beys/chunk2.js +0 -35857
  355. package/dist/seed/beys/chunk3.d.ts +0 -17
  356. package/dist/seed/beys/chunk3.js +0 -34476
  357. package/dist/seed/beys-seed-data.d.ts +0 -18
  358. package/dist/seed/beys-seed-data.js +0 -11
  359. package/dist/seed/bids-seed-data.d.ts +0 -2
  360. package/dist/seed/bids-seed-data.js +0 -206
  361. package/dist/seed/blog-posts-seed-data.d.ts +0 -6
  362. package/dist/seed/blog-posts-seed-data.js +0 -442
  363. package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
  364. package/dist/seed/carousel-slides-seed-data.js +0 -411
  365. package/dist/seed/carousels-seed-data.d.ts +0 -2
  366. package/dist/seed/carousels-seed-data.js +0 -36
  367. package/dist/seed/cart-seed-data.d.ts +0 -2
  368. package/dist/seed/cart-seed-data.js +0 -241
  369. package/dist/seed/catalogue-seed-data.d.ts +0 -2
  370. package/dist/seed/catalogue-seed-data.js +0 -112
  371. package/dist/seed/categories-seed-data.d.ts +0 -3
  372. package/dist/seed/categories-seed-data.js +0 -816
  373. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
  374. package/dist/seed/claimed-coupons-seed-data.js +0 -85
  375. package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
  376. package/dist/seed/coupon-usage-seed-data.js +0 -55
  377. package/dist/seed/coupons-seed-data.d.ts +0 -2
  378. package/dist/seed/coupons-seed-data.js +0 -226
  379. package/dist/seed/defaults/categories.d.ts +0 -2
  380. package/dist/seed/defaults/categories.js +0 -12
  381. package/dist/seed/defaults/faqs.d.ts +0 -2
  382. package/dist/seed/defaults/faqs.js +0 -40
  383. package/dist/seed/events-seed-data.d.ts +0 -7
  384. package/dist/seed/events-seed-data.js +0 -482
  385. package/dist/seed/factories/address.factory.d.ts +0 -21
  386. package/dist/seed/factories/address.factory.js +0 -44
  387. package/dist/seed/factories/bid.factory.d.ts +0 -15
  388. package/dist/seed/factories/bid.factory.js +0 -33
  389. package/dist/seed/factories/blog-post.factory.d.ts +0 -15
  390. package/dist/seed/factories/blog-post.factory.js +0 -22
  391. package/dist/seed/factories/carousel.factory.d.ts +0 -11
  392. package/dist/seed/factories/carousel.factory.js +0 -17
  393. package/dist/seed/factories/cart.factory.d.ts +0 -25
  394. package/dist/seed/factories/cart.factory.js +0 -35
  395. package/dist/seed/factories/category.factory.d.ts +0 -11
  396. package/dist/seed/factories/category.factory.js +0 -16
  397. package/dist/seed/factories/coupon.factory.d.ts +0 -21
  398. package/dist/seed/factories/coupon.factory.js +0 -43
  399. package/dist/seed/factories/faq.factory.d.ts +0 -10
  400. package/dist/seed/factories/faq.factory.js +0 -15
  401. package/dist/seed/factories/notification.factory.d.ts +0 -18
  402. package/dist/seed/factories/notification.factory.js +0 -39
  403. package/dist/seed/factories/order.factory.d.ts +0 -20
  404. package/dist/seed/factories/order.factory.js +0 -20
  405. package/dist/seed/factories/payout.factory.d.ts +0 -21
  406. package/dist/seed/factories/payout.factory.js +0 -38
  407. package/dist/seed/factories/product.factory.d.ts +0 -27
  408. package/dist/seed/factories/product.factory.js +0 -80
  409. package/dist/seed/factories/review.factory.d.ts +0 -14
  410. package/dist/seed/factories/review.factory.js +0 -52
  411. package/dist/seed/factories/session.factory.d.ts +0 -15
  412. package/dist/seed/factories/session.factory.js +0 -31
  413. package/dist/seed/factories/store.factory.d.ts +0 -23
  414. package/dist/seed/factories/store.factory.js +0 -47
  415. package/dist/seed/factories/user.factory.d.ts +0 -19
  416. package/dist/seed/factories/user.factory.js +0 -56
  417. package/dist/seed/faq-seed-data.d.ts +0 -18
  418. package/dist/seed/faq-seed-data.js +0 -1956
  419. package/dist/seed/firestore-indexes.d.ts +0 -12
  420. package/dist/seed/firestore-indexes.js +0 -31
  421. package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
  422. package/dist/seed/grouped-listings-seed-data.js +0 -283
  423. package/dist/seed/history-seed-data.d.ts +0 -12
  424. package/dist/seed/history-seed-data.js +0 -70
  425. package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
  426. package/dist/seed/homepage-sections-seed-data.js +0 -1034
  427. package/dist/seed/index.d.ts +0 -100
  428. package/dist/seed/index.js +0 -115
  429. package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
  430. package/dist/seed/lottery-entries-seed-data.js +0 -108
  431. package/dist/seed/manifest.d.ts +0 -16
  432. package/dist/seed/manifest.js +0 -235
  433. package/dist/seed/media-assets-seed-data.d.ts +0 -22
  434. package/dist/seed/media-assets-seed-data.js +0 -5593
  435. package/dist/seed/model-composition-seed-data.d.ts +0 -15
  436. package/dist/seed/model-composition-seed-data.js +0 -9032
  437. package/dist/seed/notifications-seed-data.d.ts +0 -2
  438. package/dist/seed/notifications-seed-data.js +0 -606
  439. package/dist/seed/offers-seed-data.d.ts +0 -2
  440. package/dist/seed/offers-seed-data.js +0 -398
  441. package/dist/seed/orders-seed-data.d.ts +0 -2
  442. package/dist/seed/orders-seed-data.js +0 -845
  443. package/dist/seed/part-glossary/chunk0.d.ts +0 -9
  444. package/dist/seed/part-glossary/chunk0.js +0 -35448
  445. package/dist/seed/part-glossary/chunk1.d.ts +0 -9
  446. package/dist/seed/part-glossary/chunk1.js +0 -40494
  447. package/dist/seed/part-glossary/chunk2.d.ts +0 -9
  448. package/dist/seed/part-glossary/chunk2.js +0 -51242
  449. package/dist/seed/part-glossary/chunk3.d.ts +0 -9
  450. package/dist/seed/part-glossary/chunk3.js +0 -53337
  451. package/dist/seed/part-glossary/chunk4.d.ts +0 -9
  452. package/dist/seed/part-glossary/chunk4.js +0 -51454
  453. package/dist/seed/part-glossary-seed-data.d.ts +0 -15
  454. package/dist/seed/part-glossary-seed-data.js +0 -25
  455. package/dist/seed/payouts-seed-data.d.ts +0 -2
  456. package/dist/seed/payouts-seed-data.js +0 -302
  457. package/dist/seed/product-features-seed-data.d.ts +0 -3
  458. package/dist/seed/product-features-seed-data.js +0 -366
  459. package/dist/seed/products-art-seed-data.d.ts +0 -2
  460. package/dist/seed/products-art-seed-data.js +0 -289
  461. package/dist/seed/products-auctions-seed-data.d.ts +0 -2
  462. package/dist/seed/products-auctions-seed-data.js +0 -475
  463. package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
  464. package/dist/seed/products-beyblade-x-seed-data.js +0 -476
  465. package/dist/seed/products-catalogue/chunk0.d.ts +0 -12
  466. package/dist/seed/products-catalogue/chunk0.js +0 -7262
  467. package/dist/seed/products-catalogue/chunk1.d.ts +0 -12
  468. package/dist/seed/products-catalogue/chunk1.js +0 -7290
  469. package/dist/seed/products-catalogue/chunk10.d.ts +0 -12
  470. package/dist/seed/products-catalogue/chunk10.js +0 -7290
  471. package/dist/seed/products-catalogue/chunk11.d.ts +0 -12
  472. package/dist/seed/products-catalogue/chunk11.js +0 -7005
  473. package/dist/seed/products-catalogue/chunk12.d.ts +0 -12
  474. package/dist/seed/products-catalogue/chunk12.js +0 -7002
  475. package/dist/seed/products-catalogue/chunk13.d.ts +0 -12
  476. package/dist/seed/products-catalogue/chunk13.js +0 -7002
  477. package/dist/seed/products-catalogue/chunk14.d.ts +0 -12
  478. package/dist/seed/products-catalogue/chunk14.js +0 -7002
  479. package/dist/seed/products-catalogue/chunk15.d.ts +0 -12
  480. package/dist/seed/products-catalogue/chunk15.js +0 -7002
  481. package/dist/seed/products-catalogue/chunk16.d.ts +0 -12
  482. package/dist/seed/products-catalogue/chunk16.js +0 -7002
  483. package/dist/seed/products-catalogue/chunk17.d.ts +0 -12
  484. package/dist/seed/products-catalogue/chunk17.js +0 -7002
  485. package/dist/seed/products-catalogue/chunk18.d.ts +0 -12
  486. package/dist/seed/products-catalogue/chunk18.js +0 -4398
  487. package/dist/seed/products-catalogue/chunk2.d.ts +0 -12
  488. package/dist/seed/products-catalogue/chunk2.js +0 -7268
  489. package/dist/seed/products-catalogue/chunk3.d.ts +0 -12
  490. package/dist/seed/products-catalogue/chunk3.js +0 -7264
  491. package/dist/seed/products-catalogue/chunk4.d.ts +0 -12
  492. package/dist/seed/products-catalogue/chunk4.js +0 -7268
  493. package/dist/seed/products-catalogue/chunk5.d.ts +0 -12
  494. package/dist/seed/products-catalogue/chunk5.js +0 -7258
  495. package/dist/seed/products-catalogue/chunk6.d.ts +0 -12
  496. package/dist/seed/products-catalogue/chunk6.js +0 -7268
  497. package/dist/seed/products-catalogue/chunk7.d.ts +0 -12
  498. package/dist/seed/products-catalogue/chunk7.js +0 -7311
  499. package/dist/seed/products-catalogue/chunk8.d.ts +0 -12
  500. package/dist/seed/products-catalogue/chunk8.js +0 -7304
  501. package/dist/seed/products-catalogue/chunk9.d.ts +0 -12
  502. package/dist/seed/products-catalogue/chunk9.js +0 -7309
  503. package/dist/seed/products-catalogue-seed-data.d.ts +0 -2
  504. package/dist/seed/products-catalogue-seed-data.js +0 -60
  505. package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
  506. package/dist/seed/products-classifieds-seed-data.js +0 -435
  507. package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
  508. package/dist/seed/products-digital-codes-seed-data.js +0 -395
  509. package/dist/seed/products-live-items-seed-data.d.ts +0 -7
  510. package/dist/seed/products-live-items-seed-data.js +0 -269
  511. package/dist/seed/products-preorders-seed-data.d.ts +0 -2
  512. package/dist/seed/products-preorders-seed-data.js +0 -360
  513. package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
  514. package/dist/seed/products-prize-draws-seed-data.js +0 -427
  515. package/dist/seed/products-spares-seed-data.d.ts +0 -2
  516. package/dist/seed/products-spares-seed-data.js +0 -368
  517. package/dist/seed/products-standard-seed-data.d.ts +0 -2
  518. package/dist/seed/products-standard-seed-data.js +0 -632
  519. package/dist/seed/products-stickers-seed-data.d.ts +0 -2
  520. package/dist/seed/products-stickers-seed-data.js +0 -319
  521. package/dist/seed/reviews-seed-data.d.ts +0 -1
  522. package/dist/seed/reviews-seed-data.js +0 -185
  523. package/dist/seed/runner.d.ts +0 -2
  524. package/dist/seed/runner.js +0 -125
  525. package/dist/seed/scammers-seed-data.d.ts +0 -2
  526. package/dist/seed/scammers-seed-data.js +0 -235
  527. package/dist/seed/seed-market-config.d.ts +0 -48
  528. package/dist/seed/seed-market-config.js +0 -199
  529. package/dist/seed/seed-purpose.d.ts +0 -299
  530. package/dist/seed/seed-purpose.js +0 -440
  531. package/dist/seed/sessions-seed-data.d.ts +0 -3
  532. package/dist/seed/sessions-seed-data.js +0 -116
  533. package/dist/seed/shipments-seed-data.d.ts +0 -5
  534. package/dist/seed/shipments-seed-data.js +0 -185
  535. package/dist/seed/site-settings-seed-data.d.ts +0 -2
  536. package/dist/seed/site-settings-seed-data.js +0 -1069
  537. package/dist/seed/store-addresses-seed-data.d.ts +0 -18
  538. package/dist/seed/store-addresses-seed-data.js +0 -71
  539. package/dist/seed/store-extensions-seed-data.d.ts +0 -11
  540. package/dist/seed/store-extensions-seed-data.js +0 -292
  541. package/dist/seed/stores-seed-data.d.ts +0 -6
  542. package/dist/seed/stores-seed-data.js +0 -242
  543. package/dist/seed/support-tickets-seed-data.d.ts +0 -16
  544. package/dist/seed/support-tickets-seed-data.js +0 -239
  545. package/dist/seed/tax-codes-seed-data.d.ts +0 -34
  546. package/dist/seed/tax-codes-seed-data.js +0 -100
  547. package/dist/seed/test-data-ttl.d.ts +0 -29
  548. package/dist/seed/test-data-ttl.js +0 -31
  549. package/dist/seed/test-utils.d.ts +0 -49
  550. package/dist/seed/test-utils.js +0 -110
  551. package/dist/seed/types.d.ts +0 -89
  552. package/dist/seed/types.js +0 -15
  553. package/dist/seed/users-seed-data.d.ts +0 -2
  554. package/dist/seed/users-seed-data.js +0 -597
  555. package/dist/seed/wishlists-seed-data.d.ts +0 -12
  556. package/dist/seed/wishlists-seed-data.js +0 -54
@@ -1,209 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the content-discovery/overflowing-pill-rows page.
3
- * WHAT: 11 case(s), keyed by full checklist id.
4
- *
5
- * 🛑 WIDTH IS THE SUBJECT, SO EVERY CASE STATES ONE.
6
- *
7
- * These cases test a MEASUREMENT. A run that does not pin the viewport cannot
8
- * tell "collapsed because it did not fit" from "collapsed when it had room" —
9
- * and those are opposite defects with the same screenshot. Each case therefore
10
- * names an explicit width and the tester must set it before looking.
11
- *
12
- * The defect being guarded is silent by construction: an overflowing row
13
- * renders cleanly, returns 200, and puts its tail past the right edge with no
14
- * scrollbar and no arrow. Nothing errors, nothing logs. Measured on the report
15
- * that prompted this: 12 pills on a 1440px viewport, last four unreachable.
16
- *
17
- * FIXTURE: `category-original-attack-rings` — **87 direct children**, counted
18
- * from `_helpers/category-parts.ts`, and the node the reported screenshot came
19
- * from (Draciel F, Dragoon F, Dragoon Storm, Dranzer F, Dranzer S, Driger F,
20
- * Galeon, Galman, Galzzly, Griffolyon, Metal Draciel…).
21
- *
22
- * 🛑 It is chosen for being FAR past the threshold at every viewport, so these
23
- * cases cannot silently stop testing anything if the catalogue is regenerated
24
- * a little smaller. If it ever drops near a dozen, replace the fixture rather
25
- * than loosen the assertion — a row that fits proves nothing about a row that
26
- * does not. The first draft of this file invented an id that does not exist,
27
- * and `audit-tester-plugin-wiring` R7 caught it: a tester following a bad id
28
- * finds nothing and reports a bug that is really a typo (Root Cause #32).
29
- *
30
- * @tag domain:tester
31
- * @tag layer:seed
32
- * @tag pattern:none
33
- * @tag access:server-only
34
- * @tag consumers:seed-data/authored/index.ts
35
- * @tag sideEffects:none
36
- */
37
- /**
38
- * 87 direct children — collapses at EVERY viewport. Use for the search,
39
- * keyboard and reachability cases.
40
- */
41
- const CATEGORY = "/categories/category-original-attack-rings";
42
- /**
43
- * 5 direct children (the four generations plus Battle Gear) — fits a desktop
44
- * and overflows a phone, which is the only fixture that can prove the control
45
- * tracks WIDTH rather than just always collapsing.
46
- *
47
- * 🛑 Both fixtures are needed and neither is redundant. A suite that only ever
48
- * looked at the 87-child row would pass identically against an implementation
49
- * that collapsed unconditionally — the bug one size larger than the one being
50
- * fixed.
51
- */
52
- const SMALL_CATEGORY = "/categories/category-spinning-tops";
53
- export const authored = {
54
- "checklist-content-discovery-overflowing-pill-rows-wide-row-stays-pills": {
55
- roles: ["guest"],
56
- startPage: SMALL_CATEGORY,
57
- steps: [
58
- "Set the browser window to 1440x900.",
59
- `Open ${SMALL_CATEGORY}.`,
60
- "Find the 'Subcategories' label and look at the row directly beneath it.",
61
- "Count the pills and check whether any is cut off at the right edge.",
62
- ],
63
- expectedBehaviour: "The row is measured against its container, not counted. When the pills fit, they stay pills — collapsing a row that had room would hide items behind an extra click for no reason.",
64
- expectedUiState: "A horizontal row of rounded pills under 'Subcategories', each reading a name and a number. Every pill is fully visible: none is clipped by the right edge and there is no horizontal scrollbar. There is NO single dropdown trigger.",
65
- endResult: "Nothing persists; this is a read-only page. Reloading at the same width shows the same pill row.",
66
- },
67
- "checklist-content-discovery-overflowing-pill-rows-narrow-row-collapses": {
68
- roles: ["guest"],
69
- startPage: SMALL_CATEGORY,
70
- steps: [
71
- "Set the browser window to 390x844 (a phone width).",
72
- `Open ${SMALL_CATEGORY}.`,
73
- "Find the 'Subcategories' label and look at the control directly beneath it.",
74
- "🛑 This is the SAME page as the previous case at a different width — that is the point. If it renders a dropdown here and pills there, the control is tracking width.",
75
- ],
76
- expectedBehaviour: "BEFORE: the pills simply ran past the right edge. There was no scrollbar, no arrow and no indication the row continued, so the subcategories beyond the fold were unreachable — the page looked complete while hiding items. AFTER: the row measures wider than the container and collapses to one trigger.",
77
- expectedUiState: "A single bordered control reading 'Browse subcategories' followed by the total count and a chevron. The pill row is NOT present. Nothing is clipped at the right edge.",
78
- endResult: "Nothing persists. Reloading at 390px wide shows the collapsed trigger again.",
79
- },
80
- "checklist-content-discovery-overflowing-pill-rows-collapsed-dropdown-is-searchable": {
81
- roles: ["guest"],
82
- startPage: CATEGORY,
83
- steps: [
84
- "Set the browser window to 390x844.",
85
- `Open ${CATEGORY}.`,
86
- "Click the 'Browse subcategories' trigger.",
87
- "Read the full list of rows offered.",
88
- "Type drag into the search box.",
89
- "Read the list again.",
90
- "Clear the search box.",
91
- ],
92
- inputs: { search: "drag" },
93
- expectedBehaviour: "BEFORE: the collapsed control was a native <select>, which cannot be typed at — a 12-row picker had to be scrolled. AFTER: the dropdown opens with a focused search box that filters the list on every keystroke, case-insensitively, matching anywhere in the name rather than only the start.",
94
- expectedUiState: "A panel containing a search field and a scrollable list. With 'drag' typed, only rows whose name contains 'drag' remain (e.g. 'Dragoon F', 'Dragoon Storm') and non-matching rows such as 'Draciel F' are gone. Clearing the box restores the full list.",
95
- endResult: "Nothing persists. Closing and reopening the dropdown shows an empty search box and the full list.",
96
- },
97
- "checklist-content-discovery-overflowing-pill-rows-collapsed-dropdown-keyboard": {
98
- roles: ["guest"],
99
- startPage: CATEGORY,
100
- steps: [
101
- "Set the browser window to 390x844.",
102
- `Open ${CATEGORY}.`,
103
- "Click the 'Browse subcategories' trigger.",
104
- "Press ArrowDown three times without touching the mouse.",
105
- "Note which row is highlighted.",
106
- "Press Enter.",
107
- ],
108
- expectedBehaviour: "The search box keeps focus and the arrow keys move a highlight through the filtered list, wrapping at the ends. Enter opens the highlighted subcategory. Escape closes the panel and returns focus to the trigger. The highlight is the same one the mouse sets, so there are never two cursors in the list.",
109
- expectedUiState: "After three ArrowDowns the third row is visibly highlighted and no other row is. After Enter the browser is on that subcategory's own page, whose heading matches the row that was highlighted.",
110
- endResult: "The navigation is real: the URL is the chosen subcategory's and reloading stays there.",
111
- },
112
- "checklist-content-discovery-overflowing-pill-rows-every-item-reachable-when-collapsed": {
113
- roles: ["guest"],
114
- startPage: SMALL_CATEGORY,
115
- steps: [
116
- "Set the browser window to 1440x900.",
117
- `Open ${SMALL_CATEGORY}.`,
118
- "Write down the name of the LAST pill visible in the Subcategories row.",
119
- "Resize the window to 390x844.",
120
- "Click 'Browse subcategories' and scroll the list to the bottom.",
121
- "Compare the list against the names seen at the wide width.",
122
- ],
123
- expectedBehaviour: "BEFORE: items past the right edge existed in the DOM but had no affordance — no scrollbar, no arrow — so they could not be reached at all at a narrow width. AFTER: the collapsed list contains EVERY direct child, including the ones that used to be cut off.",
124
- expectedUiState: "The dropdown list is scrollable and its row count equals the number shown on the trigger. Every pill name seen at 1440px appears as a row, and so do the ones that were clipped.",
125
- endResult: "Nothing persists. The list contents are the same on every open.",
126
- },
127
- "checklist-content-discovery-overflowing-pill-rows-pills-carry-a-leading-image": {
128
- roles: ["guest"],
129
- startPage: SMALL_CATEGORY,
130
- steps: [
131
- "Set the browser window to 1440x900.",
132
- `Open ${SMALL_CATEGORY}.`,
133
- "Look at the left-hand side of each pill in the Subcategories row.",
134
- "Resize to 390x844 and open 'Browse subcategories'.",
135
- "Look at the left-hand side of each row in the list.",
136
- ],
137
- expectedBehaviour: "A subcategory's cover image is shown as a small leading thumbnail so the row can be scanned by sight rather than by reading every label. The SAME visual appears in both states — a pill and its dropdown row are the same item and must not look like different things.",
138
- expectedUiState: "Each pill shows a small square image immediately left of its name, at roughly text height, without making the pill taller than it was. The dropdown rows show the same images. No image is stretched or letterboxed.",
139
- endResult: "Nothing persists. The same images appear on reload.",
140
- },
141
- "checklist-content-discovery-overflowing-pill-rows-missing-image-falls-back-to-initial": {
142
- roles: ["guest"],
143
- startPage: "/categories/category-spinning-tops",
144
- steps: [
145
- "Set the browser window to 1440x900.",
146
- "Open /categories/category-spinning-tops.",
147
- "Look at the Subcategories row for any entry whose category has no cover image.",
148
- "Check what is drawn where the thumbnail would be.",
149
- ],
150
- expectedBehaviour: "Roughly 650 of the intermediate branch categories have neither an icon nor a cover image, so the fallback is the common case rather than an edge case. It must be a drawn initial, never an empty reserved box and never a broken-image glyph — a blank square reads as a failed load and invites a bug report against working code.",
151
- expectedUiState: "A pill with no cover shows a small circle containing the first letter of its name. There is no broken-image icon anywhere in the row, and the pills all sit on the same baseline with equal height whether or not they have an image.",
152
- endResult: "Nothing persists.",
153
- },
154
- "checklist-content-discovery-overflowing-pill-rows-widening-restores-the-pills": {
155
- roles: ["guest"],
156
- startPage: CATEGORY,
157
- steps: [
158
- "Set the browser window to 390x844.",
159
- `Open ${SMALL_CATEGORY} and confirm the Subcategories control is a single dropdown trigger.`,
160
- "Without reloading, resize the window back to 1440x900.",
161
- "Look at the Subcategories area again.",
162
- "Resize back down to 390 and up to 1440 twice more, watching for flicker.",
163
- ],
164
- expectedBehaviour: "🛑 This is the case most likely to fail. Collapsing REMOVES the row, so there is nothing left to measure and a naive implementation can never expand again — a one-way door that looks correct until someone widens the window. The row's natural width is cached while it is still rendered, and expanding requires a clear margin above that width rather than an exact fit, so the two states cannot oscillate at the boundary.",
165
- expectedUiState: "At 1440px the pill row is back and the dropdown trigger is gone. During the resize the control does not flicker, alternate, or rapidly toggle between the two states at any intermediate width.",
166
- endResult: "Nothing persists. The state always matches the current width, not the width the page loaded at.",
167
- },
168
- "checklist-content-discovery-overflowing-pill-rows-subcategory-click-is-client-side": {
169
- roles: ["guest"],
170
- startPage: SMALL_CATEGORY,
171
- steps: [
172
- "Set the browser window to 1440x900.",
173
- `Open ${SMALL_CATEGORY}.`,
174
- "Open the browser devtools Network tab and clear it.",
175
- "Click any subcategory pill.",
176
- "Look at whether the page performed a full document navigation.",
177
- ],
178
- expectedBehaviour: "Subcategory pills are client-side links, not plain anchors. A plain <a> would make every click re-download the whole document — a silent performance regression that looks identical to working navigation apart from the flash.",
179
- expectedUiState: "The destination category page renders. The page does not white-flash, and the Network tab shows an RSC payload fetch rather than a full document request for the destination HTML.",
180
- endResult: "The URL is the clicked subcategory's; going Back returns to the previous category with its row intact.",
181
- },
182
- "checklist-content-discovery-overflowing-pill-rows-tabs-collapse-by-width-not-count": {
183
- roles: ["guest"],
184
- startPage: SMALL_CATEGORY,
185
- steps: [
186
- "Set the browser window to 1440x900.",
187
- `Open ${SMALL_CATEGORY} and scroll to the Products / Auctions / Pre-Orders tab bar.`,
188
- "Count the tabs and check whether they render as a row or a dropdown.",
189
- "Resize to 390x844 and look at the same tab bar.",
190
- ],
191
- expectedBehaviour: "BEFORE: the tab bar collapsed whenever it had more than five tabs, regardless of width — so six short tabs became a dropdown on a 1440px desktop with room to spare, while four long ones stayed a row on a phone and overflowed. AFTER: the decision is the measured width of the rendered row against its container, so the same bar can be a row on desktop and a dropdown on a phone.",
192
- expectedUiState: "At 1440px the tabs render as a horizontal row with the underline rail on the active one, even when there are six or more. At 390px the same bar is a single dropdown trigger. The resting appearance of the expanded row is unchanged from before — still an underline rail, not pills.",
193
- endResult: "Nothing persists. The tab bar's form follows the current width on every render.",
194
- },
195
- "checklist-content-discovery-overflowing-pill-rows-event-tabs-do-not-jump-to-top": {
196
- roles: ["guest"],
197
- startPage: "/events",
198
- steps: [
199
- "Set the browser window to 1440x900.",
200
- "Open /events and click into any event with an Overview / Participate / Leaderboard tab bar.",
201
- "Scroll down until the tab bar is near the top of the viewport.",
202
- "Click a different tab.",
203
- "Note the scroll position immediately after the panel swaps.",
204
- ],
205
- expectedBehaviour: "The app mounts a global ScrollToTop keyed on pathname, so a tab that navigates must opt out explicitly or every switch yanks the page to the top. The tab bar passes that opt-out through to its links.",
206
- expectedUiState: "After clicking, the newly selected tab is active and its panel is shown, while the page stays at roughly the scroll position it was at — the tab bar does not leap back down the screen.",
207
- endResult: "The URL is the new tab's; reloading lands on that tab.",
208
- },
209
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,167 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for content-discovery/parts-database.
3
- * WHAT: 9 cases, keyed by full checklist id.
4
- *
5
- * 🛑 EVERY CASE HERE IS WRITTEN AS BEFORE → AFTER, because every defect this
6
- * feature has already produced returned HTTP 200 with plausible content. A case
7
- * reading "check the parts page works" passes against all four of them:
8
- *
9
- * 1. `getCompositionsForCategory` first queried a `searchTxt` field that
10
- * `modelComposition` does not have. Zero rows, no error, an empty panel
11
- * that reads as "no composition recorded".
12
- * 2. The composition `name` was a FILE PATH for all 259 rows, so the
13
- * category join matched 0 of 259 — and a model page with no panel is
14
- * indistinguishable from a model we have no data for.
15
- * 3. Without the paren-stripped fallback the join reached only 150 of 259,
16
- * and HMS models in particular silently had no panel.
17
- * 4. 🛑 The one live listing whose leaf has a composition is an ART POSTER,
18
- * so before `LISTING_TYPE_HAS_COMPOSITION` the only Parts tab in the
19
- * catalogue offered a poster an attack ring and a blade base — a correct
20
- * part list for the wrong kind of object.
21
- *
22
- * So each case below names what the WRONG answer looked like, and several
23
- * compare two surfaces that must agree rather than checking that something
24
- * rendered.
25
- *
26
- * @tag domain:tester
27
- * @tag layer:seed
28
- * @tag pattern:none
29
- * @tag access:server-only
30
- * @tag consumers:seed-data/authored/index.ts
31
- * @tag sideEffects:none
32
- */
33
- export const authored = {
34
- "checklist-content-discovery-parts-database-index-lists-every-classification": {
35
- roles: ["guest"],
36
- startPage: "/parts",
37
- steps: [
38
- "Open /parts.",
39
- "Confirm the page heading reads 'Beyblade parts gallery'.",
40
- "Count the classification tiles.",
41
- "Confirm every tile reads as a part NAME in sentence case — 'Performance Tip', 'Fusion Wheel', 'Bit Chip' — and not as a URL slug like 'performance-tip' or 'bit-chip'.",
42
- "Open any one tile and confirm it loads a page rather than 404ing.",
43
- ],
44
- expectedBehaviour: "BEFORE: there was no parts reference at all, so a buyer reading '105RF' on a listing had nowhere to learn that 105 is a spin-track height and RF is a rubber flat tip. AFTER: 20 classifications, each a real page, under the heading 'Beyblade parts gallery'. The labels come from a compile-checked map rather than being title-cased from the slug, because 'Bit Chip' is not 'bit-chip' title-cased and 'Armour' is not 'armour'.",
45
- expectedUiState: "The heading reads 'Beyblade parts gallery'. Exactly 20 tiles, each labelled in sentence case, each a working link.",
46
- expectedData: { classificationTiles: 20 },
47
- endResult: "Nothing is changed; this case only reads.",
48
- },
49
- "checklist-content-discovery-parts-database-index-shows-no-fabricated-counts": {
50
- roles: ["guest"],
51
- startPage: "/parts",
52
- steps: [
53
- "Open /parts.",
54
- "Look at each classification tile and confirm NO tile shows a number of parts.",
55
- "Answer no if any tile shows a count, including a zero.",
56
- ],
57
- expectedBehaviour: "A per-classification count on this page would be 20 queries or a 753-document scan on a page that exists only to route — against a ~3-round-trip budget per render. The honest version of 'we are not going to pay for that number' is to not show a number, rather than to show a stale or a zero one.",
58
- expectedUiState: "Tiles carry a label and a link, and no count.",
59
- expectedData: { tileShowsCount: false },
60
- endResult: "Nothing is changed; this case only reads.",
61
- },
62
- "checklist-content-discovery-parts-database-classification-page-lists-its-parts": {
63
- roles: ["guest"],
64
- startPage: "/parts",
65
- steps: [
66
- "Open /parts, then open the Performance Tip tile.",
67
- "Read the count in the line under the heading.",
68
- "Count the rows listed.",
69
- "Confirm the rows are in alphabetical order by part name.",
70
- "Confirm a part that has a recorded weight shows it as '(N g)' and a part with no recorded weight shows nothing in its place — not '0 g' and not an em-dash.",
71
- ],
72
- expectedBehaviour: "The count is a promise about the list directly beneath it, so the two must agree exactly. Only 98 of 753 parts carry a weight and only 23 carry a code; both are facts about our sources rather than missing data, so an absent one renders as nothing at all. A '0 g' would be a measurement we never took.",
73
- expectedUiState: "The stated count equals the number of rows. Rows are alphabetical. Weights appear only where recorded.",
74
- expectedData: { statedCountEqualsRowCount: true },
75
- endResult: "Nothing is changed; this case only reads.",
76
- },
77
- "checklist-content-discovery-parts-database-unknown-classification-404s": {
78
- roles: ["guest"],
79
- startPage: "/parts",
80
- steps: [
81
- "Open /parts, then edit the address bar to /parts/zzzznope and load it.",
82
- "Confirm you get a 404 page.",
83
- "Then go back to /parts and open the Performance Tip tile as a positive control, and confirm it loads with rows.",
84
- "Answer no if /parts/zzzznope renders an EMPTY classification page instead of 404ing.",
85
- ],
86
- expectedBehaviour: "BEFORE the guard existed, casting a URL segment to a slot type would have made this a perfectly successful query for a classification no document has: zero rows, HTTP 200, and a page reading 'No parts recorded in this classification yet' — which is a lie about our data rather than a statement about the URL. The positive control is what distinguishes a working 404 from a page that 404s on everything.",
87
- expectedUiState: "/parts/zzzznope is a 404. /parts/performance-tip loads and lists parts.",
88
- expectedData: { unknownSegment404s: true, knownSegmentLoads: true },
89
- endResult: "Nothing is changed; this case only reads.",
90
- },
91
- "checklist-content-discovery-parts-database-part-page-shows-which-models-use-it": {
92
- roles: ["guest"],
93
- startPage: "/parts",
94
- steps: [
95
- "Open /parts, then open Disc, then open the part named Sting.",
96
- "Read the 'Used by N models' heading.",
97
- "Count the model rows beneath it.",
98
- "Click one model row and confirm it opens that model's category page.",
99
- "Confirm any model row that is NOT a link is still readable as plain text rather than rendering as a broken link.",
100
- ],
101
- expectedBehaviour: "'Which beys use this part' is the single most useful thing a part page says and the reason the glossary is a collection rather than a lookup table. 210 of 259 compositions joined to a category, so a model that did not join renders as plain text — a link to a page that does not exist is worse than no link.",
102
- expectedUiState: "The heading count equals the number of rows. Linked models open their category page; unlinked models render as text.",
103
- expectedData: { headingCountEqualsRowCount: true },
104
- endResult: "Nothing is changed; this case only reads.",
105
- },
106
- "checklist-content-discovery-parts-database-part-page-shows-no-prices": {
107
- roles: ["guest"],
108
- startPage: "/parts",
109
- steps: [
110
- "Open /parts, then Disc, then Sting.",
111
- "Read the Listings section.",
112
- "Confirm NO row shows a rupee amount.",
113
- "Confirm no row shows 'Sign in to see price' either.",
114
- "Click 'Search the catalogue' or 'See all listings' and confirm it lands on /products with a search term.",
115
- ],
116
- expectedBehaviour: "Prices are withheld from signed-out visitors, so an amount here would need the price gate and would make this a client-rendered page. A row carrying a title, a condition and a link has nothing to gate and therefore nothing to leak — which is why there is no 'Sign in to see price' placeholder either. The price lives one click away on the listing, where the gate already is.",
117
- expectedUiState: "Listing rows show a title and optionally a condition. No rupee amounts, no sign-in-to-see-price text.",
118
- expectedData: { pricesOnPartPage: false },
119
- endResult: "Nothing is changed; this case only reads.",
120
- },
121
- "checklist-content-discovery-parts-database-model-page-shows-its-composition": {
122
- roles: ["guest"],
123
- startPage: "/categories/category-ace-dragon-sting-charge-zan",
124
- steps: [
125
- "Open /categories/category-ace-dragon-sting-charge-zan — a tier-4 named-model leaf. Every category id carries the `category-` prefix and a URL without it does not resolve.",
126
- "Find the 'What it is made of' section.",
127
- "Confirm it lists at least one slot row, each reading as a part classification on the left and a part name on the right.",
128
- "Click a part name and confirm it opens that part's page under /parts/.",
129
- "Then open /categories/category-burst-gt — the generation LINE one level up — and confirm it has NO 'What it is made of' section at all.",
130
- ],
131
- expectedBehaviour: "BEFORE: the panel showed nothing on every model, twice over — the read queried a field the collection does not have, and separately every composition's name was a file path so none of them joined to a category. Both failures rendered as an absent section, which is indistinguishable from a model we have no data for. AFTER: the leaf shows its parts and each one links out. The LINE shows nothing deliberately — 'Burst GT' is not made of parts, the beys under it are.",
132
- expectedUiState: "The model leaf shows a composition with linked part names. The line above it shows no composition section.",
133
- expectedData: { leafHasPanel: true, lineHasPanel: false },
134
- endResult: "Nothing is changed; this case only reads.",
135
- },
136
- "checklist-content-discovery-parts-database-art-listing-has-no-parts-tab": {
137
- roles: ["guest"],
138
- startPage: "/products/art-dranzer-phoenix-poster",
139
- steps: [
140
- "Open /products/art-dranzer-phoenix-poster — an art print filed under the Dranzer F model leaf.",
141
- "Read the tab strip above the description.",
142
- "Confirm there is NO 'Parts' tab.",
143
- "Answer no if a Parts tab appears listing an attack ring, a weight disk or a blade base.",
144
- ],
145
- expectedBehaviour: "BEFORE: this was the ONLY listing in the catalogue that satisfied every other condition, so the one Parts tab in the whole product catalogue offered a poster an attack ring and a blade base. It rendered a correct part list for the wrong kind of object, with no error anywhere. AFTER: a print, a sticker sheet and a redemption code are excluded by type. They file under the model's leaf on purpose — a sticker sheet belongs beside the bey it is for — and none of them is made of its parts.",
146
- expectedUiState: "No Parts tab on an art listing.",
147
- expectedData: { partsTabOnArtListing: false },
148
- endResult: "Nothing is changed; this case only reads.",
149
- },
150
- "checklist-content-discovery-parts-database-seller-description-lists-parts": {
151
- roles: ["seller"],
152
- startPage: "/store/products/new",
153
- steps: [
154
- "Open /store/products/new and enter any title.",
155
- "Pick the category category-ace-dragon-sting-charge-zan, a Burst GT named-model leaf.",
156
- "Set the condition to Used.",
157
- "Wait for the template picker to fill the Description field.",
158
- "Read the filled description and confirm it contains a 'Parts:' line naming at least one real part.",
159
- "Now change the category to category-pokemon-set-151 — a real trading-card expansion-set leaf, which has no parts — and confirm the refilled description contains NO 'Parts:' line at all.",
160
- "Answer no if the second description shows an EMPTY 'Parts:' line.",
161
- ],
162
- expectedBehaviour: "A listing filed under a named model can state what the bey is made of, from the same data the model page renders. The second half is the half that matters: an unfilled slot resolves to an empty string, so a shared template would render an empty 'Parts:' bullet on every listing in the catalogue that is not a Beyblade. The line is REMOVED rather than emptied — absent data must read as absent, not as blank.",
163
- expectedUiState: "The Beyblade description carries a Parts line naming real parts. The trading-card description has no Parts line and no empty bullet.",
164
- expectedData: { partsLineOnModelLeaf: true, emptyPartsLineElsewhere: false },
165
- endResult: "Nothing is saved — the draft is abandoned without publishing, so no listing is created.",
166
- },
167
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,73 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the two Wave-11 adoptions —
3
- * price-index local resolution and the compare overlay's new
4
- * "add another" typeahead.
5
- * WHAT: 4 case(s), keyed by full checklist id.
6
- *
7
- * @tag domain:tester
8
- * @tag layer:seed
9
- * @tag pattern:none
10
- * @tag access:server-only
11
- * @tag consumers:seed-data/authored/index.ts
12
- * @tag sideEffects:none
13
- */
14
- export const authored = {
15
- "checklist-content-discovery-price-index-tool-price-index-resolves-locally": {
16
- roles: ["guest"],
17
- startPage: "/tools/price-index",
18
- steps: [
19
- "Open /tools/price-index in a private window and open DevTools → Network.",
20
- "Clear the network log.",
21
- "Type a real model name into the search box and submit.",
22
- "Read the network log for what fired.",
23
- "Read the results on the page.",
24
- ],
25
- inputs: { query: "Dragoon G" },
26
- expectedBehaviour: "The query-to-leaf resolution step runs in the browser against the local search artifact, at zero Firestore reads — before this, it was a searchTxt push-down query on every submit. The server is now asked only for the sale bands of the already-resolved id(s).",
27
- expectedUiState: "The network log shows the one-time artifact fetch (a .json, if not already cached from an earlier visit) plus exactly one request to a bands endpoint carrying resolved id(s) — not a raw free-text query parameter. The page shows real min/median/mean/max figures for a model with recorded sales.",
28
- endResult: "Read-only; nothing persists.",
29
- },
30
- "checklist-content-discovery-price-index-tool-price-index-falls-back-when-index-off": {
31
- roles: ["admin"],
32
- startPage: "/tools/price-index",
33
- steps: [
34
- "Sign in as admin and flip siteSettings.search.indexEnabled to false (via Firestore console or an admin settings surface, if one exists for it).",
35
- "Open /tools/price-index in a private window.",
36
- "Search a real model name and submit.",
37
- "Read the results.",
38
- "Restore the flag to true afterwards.",
39
- ],
40
- needsReview: true,
41
- reviewNote: "Needs the kill switch flipped off to observe the fallback path, which an ordinary run never exercises — flagged for a human or an admin-tooling pass.",
42
- expectedBehaviour: "With the index unavailable, the tool must fall back to the original query-based endpoint rather than going blank. The fallback pays a real Firestore query, which is the accepted cost of the flag being off.",
43
- expectedUiState: "The same real sale figures appear as when the index is on — slower, possibly, but not absent.",
44
- endResult: "Restore siteSettings.search.indexEnabled to true before ending the session.",
45
- },
46
- "checklist-content-discovery-compare-overlay-add-item-compare-add-another-via-typeahead": {
47
- roles: ["guest"],
48
- startPage: "/products",
49
- steps: [
50
- "Open /products and select one item for comparison (checkbox).",
51
- "Open the compare overlay.",
52
- "Find the 'Add another to compare' box inside the overlay.",
53
- "Type a different product's name and read the suggestions.",
54
- "Click one.",
55
- "Read the overlay's columns.",
56
- ],
57
- expectedBehaviour: "Before this, the only way to add an item was selecting it via a listing-page checkbox BEFORE opening the overlay — there was no way to add a further item once inside it. The typeahead resolves a slug locally and the overlay fetches that product the same way it already fetches checkbox-selected ones.",
58
- expectedUiState: "A new column appears for the picked item — its image, price and specs — without closing the overlay or returning to the grid. The originally-selected item's column is still there.",
59
- endResult: "Close the overlay; nothing persists.",
60
- },
61
- "checklist-content-discovery-compare-overlay-add-item-compare-add-hidden-at-column-limit": {
62
- roles: ["guest"],
63
- startPage: "/products",
64
- steps: [
65
- "Open /products and select items for comparison until the compare overlay's maximum column count is reached (checkboxes, then the typeahead if room remains).",
66
- "Open or stay in the overlay once full.",
67
- "Look for the 'Add another to compare' box.",
68
- ],
69
- expectedBehaviour: "A picker that cannot actually add anything because the overlay is full is worse than an absent one — it invites a click that does nothing.",
70
- expectedUiState: "The 'Add another' box is completely ABSENT once the column limit is reached, not merely disabled or greyed out.",
71
- endResult: "Close the overlay; nothing persists.",
72
- },
73
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;