@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,165 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the buying/return-request page.
3
- * WHAT: 7 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
- * 🛑 A RETURN IS AN ORDER STATUS, NOT AN ENTITY. Returns are views over orders, so
10
- * the request rides the order's own timeline and `return_requested` belongs to the
11
- * ACTIVE scope — it is the seller's next action item, and filing it under Closed
12
- * removes it from the queue the seller actually works from.
13
- *
14
- * Final sale is the axis these cases turn on, and it is not a blanket refusal:
15
- * "it never arrived" must be accepted on a final-sale item, because final sale is
16
- * a statement about changing your mind, not about the seller's obligation to
17
- * deliver. The two refusal cases and the two acceptance cases exist to keep those
18
- * apart.
19
- *
20
- * @tag domain:tester
21
- * @tag layer:seed
22
- * @tag pattern:none
23
- * @tag access:server-only
24
- * @tag consumers:seed-data/authored/index.ts
25
- * @tag sideEffects:none
26
- */
27
- export const authored = {
28
- "checklist-buying-return-request-return-cta-only-when-returnable": {
29
- roles: ["buyer"],
30
- startPage: "/user/orders",
31
- steps: [
32
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
33
- "Open /user/orders and open a DELIVERED order and read whether a return control is offered.",
34
- "Open a PENDING order and read whether one is offered.",
35
- "Open a SHIPPED order and read the same.",
36
- "Open a CANCELLED order and read the same.",
37
- "Open a REFUNDED order and read the same.",
38
- "Open an order already in the return-requested state and read the same.",
39
- ],
40
- expectedBehaviour: "The return control appears only where a return is actually possible — after delivery and before a return has already been requested. Offering it on a pending or cancelled order produces a request nobody can action, and offering it twice on the same order produces a duplicate the seller has to reconcile.",
41
- expectedUiState: "Only the delivered order offers the control. Pending, shipped, cancelled and refunded orders do not. An order already in the return-requested state shows its state rather than offering the control again.",
42
- expectedData: { returnControlOnDeliveredOnly: true },
43
- endResult: "Read-only; request nothing. The seed carries an order in each status, so all six are reachable.",
44
- },
45
- "checklist-buying-return-request-return-not-received-accepted-on-final-sale": {
46
- roles: ["buyer"],
47
- startPage: "/user/orders",
48
- steps: [
49
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
50
- "Open /user/orders and open any delivered order — every seeded listing is final sale, because ProductDocument.finalSale is ABSENT on all of them and absent means true.",
51
- "Confirm the order or its item shows the final-sale term.",
52
- "Open the return control and read every reason it offers.",
53
- /*
54
- * 🛑 THE RENDERED LABEL, NOT THE ENUM VALUE OR A PARAPHRASE.
55
- *
56
- * These steps said "the not-received reason" and "the change-of-mind
57
- * reason". The stored codes really are `not_received` and `changed_mind`
58
- * — but RETURN_REASON_LABEL renders them as 'It never arrived' and
59
- * 'I changed my mind', and neither paraphrase appears on screen.
60
- *
61
- * A tester scanning a select for "not received" does not find it. Same
62
- * shape as the Decline/Reject button on buying/offers: the code value and
63
- * the label are two different registers, and a step names the one the
64
- * user clicks.
65
- */
66
- "Select 'It never arrived'.",
67
- "Type 'QA Return not-received — the parcel never arrived.' and submit.",
68
- "RELOAD the order and read its status.",
69
- ],
70
- inputs: { reason: "It never arrived", note: "QA Return not-received — the parcel never arrived." },
71
- expectedBehaviour: "Final sale does not override non-delivery. It is a statement about changing your mind, not about whether the seller has to deliver — so a not-received claim must be accepted on a final-sale item, and refusing it converts a delivery failure into a term the buyer never agreed to.",
72
- expectedUiState: "The not-received reason is offered and accepted despite the final-sale term. After the reload the order reads as return-requested. A blanket refusal citing final sale is the failure.",
73
- expectedData: { accepted: true },
74
- endResult: "The order carries a return request. Leave it for the admin triage case to pick up.",
75
- },
76
- "checklist-buying-return-request-return-change-of-mind-refused-by-name": {
77
- roles: ["buyer"],
78
- startPage: "/user/orders",
79
- steps: [
80
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
81
- "Open /user/orders and open a DIFFERENT delivered order — it is final sale too, for the same reason.",
82
- "Open the return control and read every reason offered.",
83
- "Select 'I changed my mind'.",
84
- "Read what happens — whether it is refused, and what the message says.",
85
- "Read whether the message names FINAL SALE as the reason for the refusal.",
86
- ],
87
- inputs: { reason: "I changed my mind" },
88
- expectedBehaviour: "Change of mind is refused on a final-sale item and the refusal NAMES final sale. A generic 'returns are not available' leaves the buyer believing the item is broken or the site is; naming the term tells them it was disclosed before purchase and points them at where they agreed to it.",
89
- expectedUiState: "The refusal names final sale specifically rather than reading as a generic unavailability. The reason is either not offered at all for this item, or offered and refused with that explanation.",
90
- expectedData: { accepted: false },
91
- endResult: "No return is created. A refusal that does not name the term is the finding, even though the outcome is correct.",
92
- },
93
- "checklist-buying-return-request-return-reason-is-persisted": {
94
- roles: ["buyer", "admin"],
95
- startPage: "/user/orders",
96
- steps: [
97
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
98
- "Open a delivered order and open the return control.",
99
- "Select a reason and type 'QA Return reason-persisted — item arrived damaged in transit.' as the note.",
100
- "Submit and RELOAD the order.",
101
- "Read the reason and the note shown on the buyer's own view.",
102
- "Sign out and sign in as admin@letitrip.in / TempPass123!.",
103
- "Open the admin returns surface, find that order, and read the reason and the note there.",
104
- ],
105
- inputs: { note: "QA Return reason-persisted — item arrived damaged in transit." },
106
- expectedBehaviour: "The reason and the buyer's note are stored on the order and readable by both sides. The note is the entire case an admin triages on — a request that persists its status and drops its note leaves the reviewer with nothing to judge, and the buyer with no record of what they said.",
107
- expectedUiState: "After the reload the buyer's view shows the reason and the full note. The admin surface shows the same text word for word rather than a truncated or summarised version.",
108
- expectedData: { notePersisted: true },
109
- endResult: "The return request carries its reason and note on both sides.",
110
- },
111
- "checklist-buying-return-request-return-partial-gates-selected-lines-only": {
112
- roles: ["buyer"],
113
- startPage: "/user/orders",
114
- steps: [
115
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
116
- "Open /user/orders and open a delivered order containing several items.",
117
- "Open the return control and read whether individual lines can be selected.",
118
- "Select ONE line and leave the others unselected.",
119
- "Read the refund figure the form states and compare it against that line's own price.",
120
- "Submit the request.",
121
- "RELOAD and read which lines are marked as being returned.",
122
- ],
123
- expectedBehaviour: "A partial return covers only the selected lines and the stated refund matches their prices — not the order total. Cancellation and return quantities are tracked per product, which is why a bundle or grouped line is stored as one row per member: the buyer returning one part of a set must not be quoted for all of it.",
124
- expectedUiState: "Individual lines are selectable, the stated refund matches only the selected line, and after the reload only that line is marked. An order-total refund for a single-line return is the failure.",
125
- expectedData: { linesReturned: 1 },
126
- endResult: "One line is under return and the others are untouched.",
127
- },
128
- "checklist-buying-return-request-return-prize-draw-still-refused-entirely": {
129
- roles: ["buyer"],
130
- startPage: "/user/orders",
131
- steps: [
132
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
133
- "Open /user/orders and open a delivered prize-draw order.",
134
- "Read whether a return control is offered at all.",
135
- "If one is offered, open it and read every reason available.",
136
- "Attempt a return and read the refusal.",
137
- "Read whether the refusal explains why a draw entry cannot be returned.",
138
- ],
139
- expectedBehaviour: "A prize-draw entry cannot be returned once the draw has run, whatever the reason — the entry was consumed by the draw and the outcome is already assigned. This refusal is broader than the final-sale one, which still admits non-delivery, and the two must not be collapsed into the same message.",
140
- expectedUiState: "Either no return control is offered, or every reason is refused with an explanation naming the draw. A not-received reason being accepted here would be wrong, unlike on a final-sale physical item.",
141
- expectedData: { accepted: false },
142
- endResult: "No return exists. The contrast with the final-sale case is the point — one admits non-delivery and this one does not.",
143
- },
144
- "checklist-buying-return-request-return-terms-snapshotted-at-purchase": {
145
- roles: ["buyer", "seller"],
146
- startPage: "/user/orders",
147
- steps: [
148
- "Sign in as tyson@beybladearena.in / TempPass123! and set a product's return policy to 'QA Policy snapshot — 7 days, unopened.' with final sale OFF.",
149
- "Sign out and sign in as rehan.sheikh@gmail.com / TempPass123!, then buy that product.",
150
- "Open the order and read the return terms recorded on it.",
151
- "Sign back in as tyson and change the product's return policy to 'QA Policy snapshot — no returns.' with final sale ON.",
152
- "Sign back in as the buyer and open the SAME order again.",
153
- "Read the return terms shown on it now.",
154
- "Open the return control and read which terms apply.",
155
- ],
156
- inputs: {
157
- policyAtPurchase: "QA Policy snapshot — 7 days, unopened.",
158
- policyAfter: "QA Policy snapshot — no returns.",
159
- },
160
- expectedBehaviour: "The terms are captured on the order at purchase and do not follow later edits to the listing. Reading them live from the product would let a seller retroactively withdraw a return right the buyer already agreed to — the same reasoning that stores an order's provenance once at creation and never recomputes it.",
161
- expectedUiState: "The order still shows the terms that applied when it was placed, and the return control honours those rather than the seller's new policy. Terms that changed under an existing order is the failure, and it is the one with a consumer consequence.",
162
- expectedData: { termsFollowPurchase: true },
163
- endResult: "Restore the product's original return policy and final-sale flag. The order should still show what it was bought under.",
164
- },
165
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,260 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the buying/reviews-pagination page.
3
- * WHAT: 14 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 REVIEWS PAGINATE INSIDE A TAB, so their state deliberately does NOT go
10
- * in the URL — the product page's own tab and filter state owns that space. That
11
- * makes the usual "reload and check the URL" assertion wrong here, and it is why
12
- * several cases check that page 2 holds DIFFERENT rows rather than checking a
13
- * query parameter. Identical rows on both pages is what a pager that moves a
14
- * label without moving the query looks like.
15
- *
16
- * A filter or sort whose field is not marked sortable or filterable is dropped
17
- * silently, so the control changes and nothing moves.
18
- *
19
- * 🛑 THE PRODUCT IS `product-beyblade-original-dranzer-s`, AND IT HAS TO BE.
20
- *
21
- * Every case here used to open `product-beyblade-burst-valkyrie`, which carries
22
- * FOUR reviews. The tab pages at 12, so there was never a second page: nine
23
- * cases about paginating, comparing page 2, and filtering by rating could not
24
- * do the thing they describe, and would have been answered "could not test" on
25
- * a feature that works.
26
- *
27
- * `reviews-seed-data.ts` builds this fixture for exactly this purpose — a
28
- * DEEP_REVIEW_PRODUCT loop adding 14 reviews on top of its 5 from the main
29
- * loop, 19 in all. Its comments say why: ratings cycle 1..5 so every star
30
- * bucket is populated for the rating filter, and its dates are drawn from a
31
- * different range than the main loop so the two sets interleave and
32
- * "newest first" is verifiable by eye.
33
- *
34
- * Do not repoint these at a different product without counting its reviews
35
- * first. Four is invisible; the pager simply never renders.
36
- *
37
- * @tag domain:tester
38
- * @tag layer:seed
39
- * @tag pattern:none
40
- * @tag access:server-only
41
- * @tag consumers:seed-data/authored/index.ts
42
- * @tag sideEffects:none
43
- */
44
- export const authored = {
45
- "checklist-buying-reviews-pagination-detail-tab-paginates": {
46
- roles: ["guest"],
47
- startPage: "/products/product-beyblade-original-dranzer-s",
48
- steps: [
49
- "Open /products/product-beyblade-original-dranzer-s in a private window.",
50
- "Open the reviews tab and count the reviews shown.",
51
- "Read the total review count stated on the page.",
52
- "Look for a pagination control and read what it offers.",
53
- "Click through to the last page and count the reviews on it.",
54
- "Add up the per-page counts and compare against the stated total.",
55
- ],
56
- expectedBehaviour: "The tab shows a bounded page of reviews with a pager, rather than every review at once. The per-page counts must sum to the stated total — a total computed from a different query than the rows is how a pager offers a page that returns nothing.",
57
- expectedUiState: "A pager is present when the review count exceeds one page. The pages' counts sum to the stated total. A pager offering more pages than the total supports is the failure, and the last page will be empty.",
58
- endResult: "Read-only; nothing persists.",
59
- },
60
- "checklist-buying-reviews-pagination-detail-tab-newest-first": {
61
- roles: ["guest"],
62
- startPage: "/products/product-beyblade-original-dranzer-s",
63
- steps: [
64
- "Open /products/product-beyblade-original-dranzer-s in a private window.",
65
- "Open the reviews tab without changing any control.",
66
- "Read the date on every review down the page.",
67
- "Check the dates descend from top to bottom.",
68
- "Read the sort control and check its selection matches what is shown.",
69
- "Go to page 2 and check its dates are all older than page 1's oldest.",
70
- ],
71
- expectedBehaviour: "The default is newest first, and the sort control shows that as its selection. Where the server's default and the control's default are computed separately the first paint shows one order while the control claims another — and because the client caches the server's data indefinitely, the disagreement never resolves itself.",
72
- expectedUiState: "Dates descend down page 1, the sort control reads newest-first, and page 2's newest date is older than page 1's oldest. An order that does not match the control's stated selection is the failure.",
73
- endResult: "Read-only; nothing persists.",
74
- },
75
- "checklist-buying-reviews-pagination-detail-tab-page-2-differs": {
76
- roles: ["guest"],
77
- startPage: "/products/product-beyblade-original-dranzer-s",
78
- steps: [
79
- "Open /products/product-beyblade-original-dranzer-s in a private window.",
80
- "Open the reviews tab and write down every review title on page 1.",
81
- "Click to page 2.",
82
- "Write down every review title on page 2.",
83
- "Compare the two lists.",
84
- "Return to page 1 and check it shows its original titles again.",
85
- ],
86
- expectedBehaviour: "Page 2 fetches the next slice. A pager that updates its own label without moving the query renders the same rows under a different number — which looks like working pagination until the titles are actually compared.",
87
- expectedUiState: "No title appears on both pages. Returning to page 1 restores its original set. Identical titles on both pages is the exact failure this case exists for.",
88
- expectedData: { overlappingTitles: 0 },
89
- endResult: "Read-only; nothing persists.",
90
- },
91
- "checklist-buying-reviews-pagination-detail-tab-url-unchanged": {
92
- roles: ["guest"],
93
- startPage: "/products/product-beyblade-original-dranzer-s",
94
- steps: [
95
- "Open /products/product-beyblade-original-dranzer-s in a private window and read the URL.",
96
- "Open the reviews tab and read the URL again.",
97
- "Click to page 2 and read the URL.",
98
- "Apply a rating filter and read the URL.",
99
- "Reload the page and read which tab and which page of reviews are shown.",
100
- ],
101
- expectedBehaviour: "Review pagination is tab-local and deliberately stays out of the URL — the product page's own tab and filter state owns that space, and pushing a review page number into it would put a second owner in the same place. So a reload returning to page 1 is CORRECT here rather than a bug.",
102
- expectedUiState: "The URL does not gain a review page or rating parameter. After the reload the reviews tab opens at page 1 with no filter. A review page number appearing in the URL is the finding, not its absence.",
103
- endResult: "Read-only; nothing persists. This is the one listing in the app where losing state on reload is the intended behaviour.",
104
- },
105
- "checklist-buying-reviews-pagination-detail-tab-sort": {
106
- roles: ["guest"],
107
- startPage: "/products/product-beyblade-original-dranzer-s",
108
- steps: [
109
- "Open /products/product-beyblade-original-dranzer-s in a private window and open the reviews tab.",
110
- "Read the sort control's options and write them down.",
111
- "Write down the review titles in the default order.",
112
- "Select each other sort option in turn, writing down the resulting order each time.",
113
- "Compare each against the default.",
114
- "Write down any option that leaves the order unchanged.",
115
- ],
116
- expectedBehaviour: "Every sort option reorders the reviews. An option whose field is not marked sortable is dropped before the query runs, so the control's selection changes and nothing moves — and a list that happens to already be in that order makes the failure invisible unless the titles are compared.",
117
- expectedUiState: "Each option produces a visibly different order from the default. An option that changes nothing is the finding, named specifically.",
118
- expectedData: { inertSortOptions: 0 },
119
- endResult: "Read-only; nothing persists.",
120
- },
121
- "checklist-buying-reviews-pagination-detail-tab-rating-filter": {
122
- roles: ["guest"],
123
- startPage: "/products/product-beyblade-original-dranzer-s",
124
- steps: [
125
- "Open /products/product-beyblade-original-dranzer-s in a private window and open the reviews tab.",
126
- "Note the unfiltered review count.",
127
- "Filter to 5-star reviews and read the count and every review's rating.",
128
- "Filter to 1-star and read the count and ratings.",
129
- "Filter to a rating no review has and read what is shown.",
130
- "Clear the filter and check the original count returns.",
131
- ],
132
- expectedBehaviour: "The rating filter narrows to exactly that rating. A filter value with no matching reviews returns an empty state rather than the unfiltered list — a filter that silently shows everything when it matches nothing is indistinguishable from one that is not filtering at all.",
133
- expectedUiState: "Each rating filter returns only reviews of that rating and a lower count. A rating with no reviews shows a named empty state, not every review. Clearing restores the original count.",
134
- expectedData: { emptyRatingShowsAll: false },
135
- endResult: "Read-only; nothing persists.",
136
- },
137
- "checklist-buying-reviews-pagination-detail-tab-summary-stable": {
138
- roles: ["guest"],
139
- startPage: "/products/product-beyblade-original-dranzer-s",
140
- steps: [
141
- "Open /products/product-beyblade-original-dranzer-s in a private window and open the reviews tab.",
142
- "Read the rating summary — the average, the total count and any per-star breakdown.",
143
- "Filter to 5-star reviews and read the summary again.",
144
- "Go to page 2 and read the summary again.",
145
- "Change the sort and read the summary again.",
146
- "Compare all four readings.",
147
- ],
148
- expectedBehaviour: "The summary describes the whole review set and does not follow the filter, the page or the sort. A summary recomputed from the visible rows reads 5.0 out of 5 the moment a 5-star filter is applied — which is a true statement about the rows on screen and a false one about the product.",
149
- expectedUiState: "The average, total and breakdown are identical in all four readings. A summary that changes with the filter is the failure, and it is the one that misrepresents the product.",
150
- expectedData: { summaryChangesWithFilter: false },
151
- endResult: "Read-only; nothing persists.",
152
- },
153
- "checklist-buying-reviews-pagination-detail-tab-filters-all-work": {
154
- roles: ["guest"],
155
- startPage: "/products/product-beyblade-original-dranzer-s",
156
- steps: [
157
- "Open /products/product-beyblade-original-dranzer-s in a private window and open the reviews tab.",
158
- "Read every filter control offered and write the list down.",
159
- "Note the unfiltered count.",
160
- "Apply each filter in turn and read the resulting count and rows.",
161
- "Write down any filter that leaves the count unchanged.",
162
- "Apply two filters together and check the result is narrower than either alone.",
163
- ],
164
- expectedBehaviour: "Every filter offered actually narrows. A filter can render, count toward a filter badge and change nothing — that happens when it emits a field the query allowlist does not carry, or one the document does not have, and neither failure raises anything.",
165
- expectedUiState: "Each filter visibly reduces the count and its rows respect it. Two together are narrower than either. A filter leaving the count identical is the finding, named specifically.",
166
- expectedData: { inertFilters: 0 },
167
- endResult: "Read-only; nothing persists.",
168
- },
169
- "checklist-buying-reviews-pagination-date-range-sort-options": {
170
- roles: ["guest"],
171
- startPage: "/products/product-beyblade-original-dranzer-s",
172
- steps: [
173
- "Open /products/product-beyblade-original-dranzer-s in a private window and open the reviews tab.",
174
- "Read whether a date-range filter is offered.",
175
- "Set a range covering only the oldest reviews and read the count and dates.",
176
- "Set a range covering only the newest and read the count and dates.",
177
- "Set a range in which no review falls and read what is shown.",
178
- "Combine a date range with a sort and check both apply together.",
179
- ],
180
- expectedBehaviour: "A date range filters on the review's published date and combines with the sort. A date field that is filterable but lacks a value parser is the classic silent failure here: the range is sent as a plain string, the stored value is a timestamp, and the comparison matches NOTHING while raising no error.",
181
- expectedUiState: "Each range returns reviews whose dates fall inside it. An empty range shows an empty state rather than everything. A range that returns ZERO reviews when reviews demonstrably fall inside it is the parser failure.",
182
- expectedData: { rangeReturnsZeroIncorrectly: false },
183
- endResult: "Read-only; nothing persists.",
184
- },
185
- "checklist-buying-reviews-pagination-other-listing-types-paginate": {
186
- roles: ["guest"],
187
- startPage: "/auctions/auction-beyblade-x-shark-edge",
188
- steps: [
189
- "Open /auctions/auction-beyblade-x-shark-edge in a private window and open its reviews tab.",
190
- "Check a pager and the same filter and sort controls are present.",
191
- "Open /pre-orders/preorder-beyblade-x-bx-08-wave and check the same.",
192
- "Open /prize-draws/prizedraw-beyblade-mystery-box and check the same.",
193
- "Open /classified/classified-beyblade-stadium-set and check the same.",
194
- "Write down any listing type whose reviews tab lacks a control the others have.",
195
- ],
196
- expectedBehaviour: "Every listing type's detail page renders the same reviews component with the same controls. A type missing the pager or the filters has a local copy of the tab rather than the shared one, and a local copy drifts the first time the shared one changes.",
197
- expectedUiState: "All four types show the same pager, filter and sort controls in their reviews tabs. A type missing one is the finding, named by type and by control.",
198
- endResult: "Read-only; nothing persists.",
199
- },
200
- "checklist-buying-reviews-pagination-auction-store-reviews-paginated": {
201
- roles: ["guest"],
202
- startPage: "/stores/store-beyblade-arena",
203
- steps: [
204
- "Open /stores/store-beyblade-arena in a private window and open its reviews tab.",
205
- "Count the reviews shown and read the stated total.",
206
- "Check a pager is present and click to page 2.",
207
- "Write down the titles on both pages and compare.",
208
- "Check the store's aggregate rating does not change between pages.",
209
- "Apply a rating filter and check the aggregate still does not change.",
210
- ],
211
- expectedBehaviour: "Store reviews paginate like product reviews, and the store's aggregate rating describes every review rather than the visible page. The same summary-stability rule applies here as on a product — an aggregate that follows the filter misrepresents the store.",
212
- expectedUiState: "A pager is present, page 2 holds different titles, and the aggregate is identical across pages and under a filter.",
213
- expectedData: { overlappingTitles: 0 },
214
- endResult: "Read-only; nothing persists.",
215
- },
216
- "checklist-buying-reviews-pagination-store-reviews-tab-url-state": {
217
- roles: ["guest"],
218
- startPage: "/stores/store-beyblade-arena",
219
- steps: [
220
- "Open /stores/store-beyblade-arena in a private window and read the URL.",
221
- "Open the reviews tab and read the URL again.",
222
- "Click to page 2 and read the URL.",
223
- "Copy the URL, open it in a new tab, and read which tab and page load.",
224
- "Press the browser back button and read where it lands.",
225
- ],
226
- expectedBehaviour: "A store's TAB is a real route with its own URL — that is what makes each tab bookmarkable — while the review page number within it stays tab-local, exactly as on a product page. So the URL names the reviews tab and not the review page.",
227
- expectedUiState: "The URL changes to name the reviews tab and the copied URL opens on that tab. The review page number is not in the URL, so the copy opens at page 1. Back returns to the previous tab in one press.",
228
- endResult: "Read-only; nothing persists beyond the URL.",
229
- },
230
- "checklist-buying-reviews-pagination-reviews-index-unchanged": {
231
- roles: ["guest"],
232
- startPage: "/reviews",
233
- steps: [
234
- "Open /reviews in a private window and read the page.",
235
- "Read the controls it offers — search, filters, sort, pagination.",
236
- "Apply a filter and read the URL.",
237
- "Click to page 2 and read the URL.",
238
- "Copy the URL, open it in a new tab, and check the same filter and page load.",
239
- "Reload and check the state survives.",
240
- ],
241
- expectedBehaviour: "The standalone reviews index is an ordinary listing page, so its state DOES live in the URL — unlike the tab-embedded versions. The two behave differently on purpose: a standalone listing is shareable, a tab-local pager would be a second owner of the page's URL state.",
242
- expectedUiState: "Filters, sort and page all appear in the URL, the copied URL reproduces them, and a reload preserves them. State lost on reload is a failure here, where on a product's reviews tab it is correct.",
243
- endResult: "Read-only; nothing persists beyond the URL.",
244
- },
245
- "checklist-buying-reviews-pagination-empty-state": {
246
- roles: ["guest"],
247
- startPage: "/products/product-beyblade-burst-spryzen-video-demo",
248
- steps: [
249
- "Open /products/product-beyblade-burst-spryzen-video-demo in a private window with no session — this listing carries no seeded reviews.",
250
- "Open its reviews tab.",
251
- "Read what is shown.",
252
- "Check whether a pager, filters or a sort control are rendered over the empty list.",
253
- "Read the rating summary and check it reads as no reviews rather than zero out of five.",
254
- "Open /products/product-beyblade-original-dranzer-s, which carries 14 seeded reviews, apply a rating filter that matches nothing, and compare the two empty states.",
255
- ],
256
- expectedBehaviour: "A product with no reviews shows a named empty state, and controls that cannot act on anything are not rendered over it. The two empty states are different facts — 'no reviews yet' invites the buyer to write one, 'no reviews match this filter' invites them to clear it — and one message cannot say both.",
257
- expectedUiState: "The no-reviews product shows a message inviting a review, with no pager. The filtered-to-nothing case shows a message about the filter. A rating summary reading '0 out of 5' where there are no reviews is the failure — that is a rating, and no rating exists.",
258
- endResult: "Read-only; nothing persists.",
259
- },
260
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,128 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the buying/reviews checklist page.
3
- * WHAT: 5 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
- * 🛑 A REVIEW'S IMAGES ARE PLAIN URL STRINGS. A renderer that expects objects and
10
- * reads a nested property off each string gets undefined for every one, so every
11
- * review photo on every surface falls back to a placeholder at once — the grid,
12
- * the lightbox, the thumbnail strip, the modal and two separate server-side
13
- * builders that each re-derived the same wrong transform independently.
14
- *
15
- * @tag domain:tester
16
- * @tag layer:seed
17
- * @tag pattern:none
18
- * @tag access:server-only
19
- * @tag consumers:seed-data/authored/index.ts
20
- * @tag sideEffects:none
21
- */
22
- export const authored = {
23
- "checklist-buying-reviews-leave-review": {
24
- roles: ["buyer"],
25
- startPage: "/user/orders",
26
- steps: [
27
- "Sign in as rehan.sheikh@gmail.com / TempPass123!.",
28
- "Open /user/orders and open a delivered order.",
29
- /*
30
- * 🛑 THIS CONTROL MAY NOT EXIST, AND THAT IS THE FINDING — not a reason
31
- * to soften the case.
32
- *
33
- * Measured 2026-09-28: the write path exists server-side
34
- * (createReviewAction, useCreateReview) and the labels exist
35
- * (UI_TEXT.WRITE_REVIEW, twice), but NO .tsx consumes any of them. The
36
- * only review modal is ViewReviewModal, which is read-only.
37
- *
38
- * So the expected outcome is a real 'no' with evidence, not a 'could not
39
- * test'. The step says where to look and what its absence means, so the
40
- * two verdicts cannot be confused — a tester who simply cannot find a
41
- * button otherwise records "could not test", and a missing feature then
42
- * reads as a coverage gap.
43
- */
44
- "On the delivered order's item row, use the control that leaves a review — 'Write a review' or equivalent. If no such control exists anywhere on the order or on the product page, that is the answer: record it as a FAILURE with a screenshot of the order row, not as 'could not test'.",
45
- "Submit with no rating and no text, and read where the errors appear.",
46
- "Select 4 stars, type 'QA Review leave-review' as the title and 'Written by the tester checklist.' as the body, and attach public/test-media/sample-image.png.",
47
- "Submit and RELOAD.",
48
- "Open the product's public page and find the review.",
49
- "Read whether it carries a verified-purchase marker.",
50
- ],
51
- inputs: {
52
- rating: 4,
53
- title: "QA Review leave-review",
54
- body: "Written by the tester checklist.",
55
- image: "public/test-media/sample-image.png",
56
- },
57
- expectedBehaviour: "A review is written against the product, the store and the buyer, and is marked as a verified purchase because it came from a delivered order. The attached image is stored as a plain URL string rather than an object — that is the shape every renderer must read.",
58
- expectedUiState: "The empty submit marks the rating and body fields individually. After the reload the review appears on the public product page with its stars, title, body, photo and a verified-purchase marker. The photo RENDERS rather than showing a placeholder icon.",
59
- endResult: "One review exists. Delete it afterwards so the seeded product's review count and rating are left as they were.",
60
- },
61
- "checklist-buying-reviews-view-seller-reviews": {
62
- roles: ["guest"],
63
- startPage: "/stores/store-beyblade-arena",
64
- steps: [
65
- "Open /stores/store-beyblade-arena in a private window with no session.",
66
- "Open the store's reviews tab and read the rows.",
67
- "Check each shows a rating, a title, a body and a date.",
68
- "Read how each reviewer is identified.",
69
- "Search the page source for a full reviewer name or an email address.",
70
- "Read the store's aggregate rating and compare it against the reviews listed.",
71
- ],
72
- expectedBehaviour: "The public reviews list shows masked reviewer identities. Names are PII-encrypted at rest, so what reaches this page is a masked form — and a masking helper that returns its input unchanged is invisible from every layer except this one, which is why the source is read rather than the rendered text alone.",
73
- expectedUiState: "Reviews show rating, title, body and date with masked reviewer names. Neither the rendered page nor its source contains a full name or an email. The aggregate rating is consistent with the reviews shown.",
74
- expectedData: { fullNamesInSource: 0 },
75
- endResult: "Read-only; nothing persists.",
76
- },
77
- "checklist-buying-reviews-seller-response": {
78
- roles: ["seller", "guest"],
79
- startPage: "/store/reviews",
80
- steps: [
81
- "Sign in as tyson@beybladearena.in / TempPass123!.",
82
- "Open the store's reviews list and open one with no seller response.",
83
- "Type 'QA Response seller-response — thanks for the feedback.' and save.",
84
- "RELOAD and read the response.",
85
- "Open the same review on the product's public page in a private window.",
86
- "Read whether the response is shown and how it is attributed.",
87
- "Edit the response, save, reload, and read it again.",
88
- "Delete the response.",
89
- ],
90
- inputs: { response: "QA Response seller-response — thanks for the feedback." },
91
- expectedBehaviour: "A seller response is stored on the review and rendered publicly, attributed to the STORE rather than to a person. It can be edited afterwards — a response writable only once leaves a typo permanent on a public page.",
92
- expectedUiState: "After the reload the response appears in the dashboard and on the public product page, attributed to Beyblade Arena. The edit persists. The reviewer's own name stays masked — a response does not unmask it.",
93
- endResult: "The response is deleted so the seeded review is left as it was.",
94
- },
95
- "checklist-buying-reviews-review-detail-related-sections": {
96
- roles: ["guest"],
97
- startPage: "/products/product-beyblade-burst-valkyrie",
98
- steps: [
99
- "Open /products/product-beyblade-burst-valkyrie in a private window.",
100
- "Open a review's own detail view.",
101
- "Scroll below it and read each related section's heading.",
102
- "Check each section holds real reviews with titles and ratings.",
103
- "Check the review currently open does not appear in any of them.",
104
- "Click one entry and confirm it opens that review.",
105
- ],
106
- expectedBehaviour: "A review detail offers other reviews — of the same product and of the same store — with the current one excluded. A heading over an empty rail is worse than no section: it advertises content that is not there, and the section should not render at all when it has nothing.",
107
- expectedUiState: "Each related section holds at least one real review and the current review is in none of them. Every entry opens the review it names. An empty rail beneath a heading is the failure.",
108
- expectedData: { selfLinkCount: 0 },
109
- endResult: "Read-only; nothing persists.",
110
- },
111
- "checklist-buying-reviews-review-photos-render": {
112
- roles: ["guest"],
113
- startPage: "/products/product-beyblade-burst-valkyrie",
114
- steps: [
115
- "Open /products/product-beyblade-burst-valkyrie in a private window.",
116
- "Find a review carrying photos and look at its photo grid.",
117
- "Check each tile shows a photograph rather than a placeholder icon.",
118
- "Click one to open the lightbox and check the image renders there.",
119
- "Use the lightbox's thumbnail strip and check each thumbnail shows its own image.",
120
- "Close it, open the review modal from the list, and check the photos render there too.",
121
- "Open the seller's public profile reviews and check the photos render there as well.",
122
- ],
123
- expectedBehaviour: "Review images are plain URL strings and every renderer reads them as such. Where a renderer expects objects it reads undefined off each string and falls back to a placeholder — which makes every review photo vanish simultaneously across five surfaces, including two independent server-side builders that each re-derived the same wrong transform.",
124
- expectedUiState: "Photos render in the grid, the lightbox, the lightbox's thumbnail strip, the review modal and the profile reviews. A placeholder icon in ANY of those is the failure, and it will be a placeholder in all of them rather than one.",
125
- expectedData: { placeholderTiles: 0 },
126
- endResult: "Read-only; nothing persists. Check every surface — this defect is all-or-nothing, so one working surface would mean the others are reading a different path.",
127
- },
128
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;