@mohasinac/appkit 4.34.1 → 4.35.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 (232) hide show
  1. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +32 -2
  2. package/dist/features/tester/components/TesterChecklistStepRow.d.ts +9 -1
  3. package/dist/features/tester/components/TesterChecklistStepRow.js +31 -2
  4. package/dist/features/tester/components/TesterHubView.js +8 -0
  5. package/dist/features/tester/schemas/firestore.d.ts +109 -0
  6. package/dist/features/tester/schemas/firestore.js +14 -0
  7. package/dist/features/tester/seed-data/_money-flows.d.ts +23 -0
  8. package/dist/features/tester/seed-data/_money-flows.js +430 -0
  9. package/dist/features/tester/seed-data/authored/_types.d.ts +33 -0
  10. package/dist/features/tester/seed-data/authored/_types.js +35 -0
  11. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +2 -0
  12. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +207 -0
  13. package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +2 -0
  14. package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +298 -0
  15. package/dist/features/tester/seed-data/authored/account-auth__testing-program--admin.d.ts +2 -0
  16. package/dist/features/tester/seed-data/authored/account-auth__testing-program--admin.js +33 -0
  17. package/dist/features/tester/seed-data/authored/account-auth__testing-program.d.ts +2 -0
  18. package/dist/features/tester/seed-data/authored/account-auth__testing-program.js +138 -0
  19. package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +2 -0
  20. package/dist/features/tester/seed-data/authored/addresses__address-filters.js +36 -0
  21. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +2 -0
  22. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +75 -0
  23. package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +2 -0
  24. package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +72 -0
  25. package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +2 -0
  26. package/dist/features/tester/seed-data/authored/addresses__state-picker.js +54 -0
  27. package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +2 -0
  28. package/dist/features/tester/seed-data/authored/addresses__unban-request.js +39 -0
  29. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +2 -0
  30. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +226 -0
  31. package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +2 -0
  32. package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +82 -0
  33. package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +2 -0
  34. package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +177 -0
  35. package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +2 -0
  36. package/dist/features/tester/seed-data/authored/admin__bundles.js +97 -0
  37. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +2 -0
  38. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +232 -0
  39. package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +2 -0
  40. package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +306 -0
  41. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +2 -0
  42. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +158 -0
  43. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +2 -0
  44. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +78 -0
  45. package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +2 -0
  46. package/dist/features/tester/seed-data/authored/admin__content-deletes.js +261 -0
  47. package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +2 -0
  48. package/dist/features/tester/seed-data/authored/admin__content-marketing.js +151 -0
  49. package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +2 -0
  50. package/dist/features/tester/seed-data/authored/admin__coupons.js +214 -0
  51. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +2 -0
  52. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +160 -0
  53. package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +2 -0
  54. package/dist/features/tester/seed-data/authored/admin__media-watermark.js +104 -0
  55. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +2 -0
  56. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +350 -0
  57. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +2 -0
  58. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +105 -0
  59. package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +2 -0
  60. package/dist/features/tester/seed-data/authored/admin__site-system.js +590 -0
  61. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +2 -0
  62. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +235 -0
  63. package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +2 -0
  64. package/dist/features/tester/seed-data/authored/admin__users-trust.js +569 -0
  65. package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +2 -0
  66. package/dist/features/tester/seed-data/authored/buying__bidding.js +417 -0
  67. package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +2 -0
  68. package/dist/features/tester/seed-data/authored/buying__browsing-search.js +653 -0
  69. package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +2 -0
  70. package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +533 -0
  71. package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +2 -0
  72. package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +379 -0
  73. package/dist/features/tester/seed-data/authored/buying__cart.d.ts +2 -0
  74. package/dist/features/tester/seed-data/authored/buying__cart.js +1171 -0
  75. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +2 -0
  76. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +140 -0
  77. package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +2 -0
  78. package/dist/features/tester/seed-data/authored/buying__my-orders.js +257 -0
  79. package/dist/features/tester/seed-data/authored/buying__offers.d.ts +2 -0
  80. package/dist/features/tester/seed-data/authored/buying__offers.js +1111 -0
  81. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +2 -0
  82. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +252 -0
  83. package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +2 -0
  84. package/dist/features/tester/seed-data/authored/buying__product-detail.js +387 -0
  85. package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +2 -0
  86. package/dist/features/tester/seed-data/authored/buying__return-request.js +152 -0
  87. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +2 -0
  88. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +242 -0
  89. package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +2 -0
  90. package/dist/features/tester/seed-data/authored/buying__reviews.js +113 -0
  91. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +2 -0
  92. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +283 -0
  93. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +2 -0
  94. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +167 -0
  95. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +2 -0
  96. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +90 -0
  97. package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +2 -0
  98. package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +344 -0
  99. package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +2 -0
  100. package/dist/features/tester/seed-data/authored/community-support__public-profile.js +53 -0
  101. package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +2 -0
  102. package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +76 -0
  103. package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +2 -0
  104. package/dist/features/tester/seed-data/authored/content-discovery__blog.js +93 -0
  105. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +2 -0
  106. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +149 -0
  107. package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +2 -0
  108. package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +121 -0
  109. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +2 -0
  110. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +207 -0
  111. package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +2 -0
  112. package/dist/features/tester/seed-data/authored/content-discovery__events.js +318 -0
  113. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +2 -0
  114. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +65 -0
  115. package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +2 -0
  116. package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +147 -0
  117. package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +2 -0
  118. package/dist/features/tester/seed-data/authored/content-discovery__search.js +332 -0
  119. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +2 -0
  120. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +53 -0
  121. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +2 -0
  122. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +52 -0
  123. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +2 -0
  124. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +35 -0
  125. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +2 -0
  126. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +141 -0
  127. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +2 -0
  128. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +35 -0
  129. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +2 -0
  130. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +95 -0
  131. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +2 -0
  132. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +191 -0
  133. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +2 -0
  134. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +158 -0
  135. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +2 -0
  136. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +106 -0
  137. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +2 -0
  138. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +88 -0
  139. package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +2 -0
  140. package/dist/features/tester/seed-data/authored/design-ux__general-design.js +204 -0
  141. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +2 -0
  142. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +301 -0
  143. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +2 -0
  144. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +407 -0
  145. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +2 -0
  146. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +214 -0
  147. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +2 -0
  148. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +275 -0
  149. package/dist/features/tester/seed-data/authored/index.d.ts +2 -0
  150. package/dist/features/tester/seed-data/authored/index.js +237 -0
  151. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +2 -0
  152. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +102 -0
  153. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +2 -0
  154. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +50 -0
  155. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +2 -0
  156. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +66 -0
  157. package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +2 -0
  158. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +115 -0
  159. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +2 -0
  160. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +136 -0
  161. package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.d.ts +2 -0
  162. package/dist/features/tester/seed-data/authored/public-pages__bug-hunters.js +69 -0
  163. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +2 -0
  164. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +263 -0
  165. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +2 -0
  166. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +102 -0
  167. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +2 -0
  168. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +234 -0
  169. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +2 -0
  170. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +126 -0
  171. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +2 -0
  172. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +255 -0
  173. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +2 -0
  174. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +59 -0
  175. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +2 -0
  176. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +88 -0
  177. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +2 -0
  178. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +51 -0
  179. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +2 -0
  180. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +35 -0
  181. package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +2 -0
  182. package/dist/features/tester/seed-data/authored/selling__become-seller.js +94 -0
  183. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +2 -0
  184. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +107 -0
  185. package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +2 -0
  186. package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +285 -0
  187. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +2 -0
  188. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +326 -0
  189. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +2 -0
  190. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +136 -0
  191. package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +2 -0
  192. package/dist/features/tester/seed-data/authored/selling__media-limits.js +128 -0
  193. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +2 -0
  194. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +167 -0
  195. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +2 -0
  196. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +117 -0
  197. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +2 -0
  198. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +88 -0
  199. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +2 -0
  200. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +151 -0
  201. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +2 -0
  202. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +105 -0
  203. package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +2 -0
  204. package/dist/features/tester/seed-data/authored/selling__seller-guide.js +33 -0
  205. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +2 -0
  206. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +347 -0
  207. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +2 -0
  208. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +166 -0
  209. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +2 -0
  210. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +89 -0
  211. package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +2 -0
  212. package/dist/features/tester/seed-data/authored/selling__seller-orders.js +195 -0
  213. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +2 -0
  214. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +180 -0
  215. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +2 -0
  216. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +164 -0
  217. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +2 -0
  218. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +116 -0
  219. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +2 -0
  220. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +111 -0
  221. package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +2 -0
  222. package/dist/features/tester/seed-data/authored/seo__og-images.js +91 -0
  223. package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +2 -0
  224. package/dist/features/tester/seed-data/authored/seo__page-metadata.js +122 -0
  225. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +2 -0
  226. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +105 -0
  227. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +744 -1
  228. package/dist/seed/carousel-slides-seed-data.js +1 -1
  229. package/dist/seed/products-standard-seed-data.js +2 -2
  230. package/dist/seed/reviews-seed-data.js +6 -1
  231. package/package.json +1 -1
  232. package/scripts/seed-cli.mjs +6 -0
@@ -0,0 +1,235 @@
1
+ /*
2
+ * WHY: Authored six-part procedures for the admin/uncovered-admin-pages page.
3
+ * WHAT: 14 case(s), keyed by full checklist id.
4
+ *
5
+ * Every page here was found by a sweep, not by a report: a built `page.tsx` with
6
+ * zero cases naming it anywhere in the catalogue. A page nothing tests is
7
+ * invisible to this whole mechanism, and four of them are observability surfaces —
8
+ * the screens somebody reaches for precisely when something else is already wrong.
9
+ *
10
+ * These are deliberately one case each. A page nobody has looked at needs "does it
11
+ * render, and does its main affordance work" before it needs depth; writing six
12
+ * speculative cases against a screen nobody has opened is how a checklist grows
13
+ * cases that measure nothing.
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
+ const SIGN_IN_ADMIN = "Sign in as admin@letitrip.in / TempPass123!.";
23
+ export const authored = {
24
+ "checklist-admin-uncovered-admin-pages-action-index-renders": {
25
+ roles: ["admin"],
26
+ startPage: "/admin/action-index",
27
+ steps: [
28
+ SIGN_IN_ADMIN,
29
+ "Open /admin/action-index with the browser console open.",
30
+ "Read what the page lists.",
31
+ "Pick one action and read its label, its kind and whether it carries a confirmation.",
32
+ "Check a destructive action shows that it has a confirmation configured.",
33
+ "Read the console for errors.",
34
+ ],
35
+ expectedBehaviour: "The page renders the registered CTA catalogue. Every action in the product is supposed to be declared there rather than written inline at its call site, so this page is the readable form of that rule — and a destructive action with no confirmation is exactly what it exists to surface.",
36
+ expectedUiState: "A populated list of actions with labels and kinds, no error boundary, clean console. Any destructive action showing no confirmation is a finding, named.",
37
+ expectedData: { consoleErrors: 0 },
38
+ endResult: "Read-only.",
39
+ },
40
+ "checklist-admin-uncovered-admin-pages-admin-notifications-renders": {
41
+ roles: ["admin"],
42
+ startPage: "/admin/admin-notifications",
43
+ steps: [
44
+ SIGN_IN_ADMIN,
45
+ "Open /admin/admin-notifications.",
46
+ "Read the rows listed and note their types.",
47
+ "Open one row's detail.",
48
+ "Read the full body and any linked record.",
49
+ "Follow the link, if there is one, and read where it lands.",
50
+ ],
51
+ expectedBehaviour: "Notification rows can be opened and read in full. A list-only surface is a dead end — an admin can see that something happened and never what it said, which is the shape a whole sweep of dashboard lists was found in.",
52
+ expectedUiState: "Rows render with their types, a row opens to show the full body, and any link lands on a real page. A list with no way to open a row is the finding.",
53
+ endResult: "Read-only.",
54
+ },
55
+ "checklist-admin-uncovered-admin-pages-maintenance-analysis-renders": {
56
+ roles: ["admin"],
57
+ startPage: "/admin/maintenance/analysis",
58
+ steps: [
59
+ SIGN_IN_ADMIN,
60
+ "Open /admin/maintenance/analysis with the console open.",
61
+ "Read whether the page renders content or an error boundary.",
62
+ "Read the console and the network panel for failures.",
63
+ "Reload once and read the same.",
64
+ ],
65
+ expectedBehaviour: "The page renders rather than throwing. Maintenance pages read external systems, and an unguarded read there is both a runtime error boundary and — because the build attempts to prerender pages under a session-reading layout — a way to fail the production build outright.",
66
+ expectedUiState: "Content renders with no error boundary and a clean console. A failed request that leaves the page empty but silent is also a finding.",
67
+ endResult: "Read-only.",
68
+ },
69
+ "checklist-admin-uncovered-admin-pages-maintenance-client-errors-renders": {
70
+ roles: ["admin"],
71
+ startPage: "/admin/maintenance/client-errors",
72
+ steps: [
73
+ SIGN_IN_ADMIN,
74
+ "Open /admin/maintenance/client-errors.",
75
+ "Read whether rows are listed and in what order.",
76
+ "Check the newest is first.",
77
+ "Open one row and read its message, its reference code and its component trace.",
78
+ "Note whether a reference code shown on an error screen could be searched for here.",
79
+ ],
80
+ expectedBehaviour: "Browser-reported errors land here with the reference code an error screen shows the user, which is the join key between what they quote and what was recorded. The registration that forwards them has been silently absent twice, and its failure mode is an empty list rather than an error — so an empty list is only correct if nothing has genuinely been reported.",
81
+ expectedUiState: "Rows newest-first, each opening to a message and a reference code. Record whether the list is empty, since that is the exact symptom of a missing registration.",
82
+ endResult: "Read-only.",
83
+ },
84
+ "checklist-admin-uncovered-admin-pages-maintenance-function-errors-renders": {
85
+ roles: ["admin"],
86
+ startPage: "/admin/maintenance/function-errors",
87
+ steps: [
88
+ SIGN_IN_ADMIN,
89
+ "Open /admin/maintenance/function-errors.",
90
+ "Read what the page shows.",
91
+ "Check an empty list reads as 'none recorded' rather than as a blank area.",
92
+ "Read the console for errors.",
93
+ ],
94
+ expectedBehaviour: "This error source has no production producer today, so an empty list is the expected and correct state. What must not happen is a blank region indistinguishable from a page that failed to load — the difference between 'nothing to show' and 'nothing loaded' is the whole value of an observability screen.",
95
+ expectedUiState: "Either rows, or an explicit empty state saying none are recorded. A bare blank area is the finding.",
96
+ endResult: "Read-only.",
97
+ },
98
+ "checklist-admin-uncovered-admin-pages-maintenance-payment-rollbacks-renders": {
99
+ roles: ["admin"],
100
+ startPage: "/admin/maintenance/payment-rollbacks",
101
+ steps: [
102
+ SIGN_IN_ADMIN,
103
+ "Open /admin/maintenance/payment-rollbacks.",
104
+ "Read the rows listed, or the empty state.",
105
+ "Open one row.",
106
+ "Read what it shows about the order and the rollback.",
107
+ "Read the console for errors.",
108
+ ],
109
+ expectedBehaviour: "Rollback records can be opened and traced back to their order. A payment rollback is a money event, so a row that cannot be opened leaves an admin knowing an amount moved and not which order it belonged to.",
110
+ expectedUiState: "Rows open to show the order and the reason, or an explicit empty state. A row that cannot be opened is the finding.",
111
+ endResult: "Read-only.",
112
+ },
113
+ "checklist-admin-uncovered-admin-pages-payment-method-clusters-renders": {
114
+ roles: ["admin"],
115
+ startPage: "/admin/payment-methods/clusters",
116
+ steps: [
117
+ SIGN_IN_ADMIN,
118
+ "Open /admin/payment-methods/clusters.",
119
+ "Read what a cluster represents on this page.",
120
+ "Open one cluster.",
121
+ "Read the accounts or methods grouped inside it.",
122
+ "Check any payment identifier shown is masked.",
123
+ ],
124
+ expectedBehaviour: "Clusters open to show what they group, and every payment identifier is masked. A masking helper that only spreads its input instead of masking is invisible everywhere except to a human who recognises a real value — which is exactly how one shipped and sat.",
125
+ expectedUiState: "A cluster opens and lists its members, with every account number or payment handle partially hidden. An unmasked identifier is the finding, and it is a leak rather than a display bug.",
126
+ endResult: "Read-only.",
127
+ },
128
+ "checklist-admin-uncovered-admin-pages-settings-actions-renders": {
129
+ roles: ["admin"],
130
+ startPage: "/admin/settings/actions",
131
+ steps: [
132
+ SIGN_IN_ADMIN,
133
+ "Open /admin/settings/actions.",
134
+ "Read what the page lets an admin change.",
135
+ "Change one setting and save.",
136
+ "Reload and read whether the change held.",
137
+ "Restore the original value.",
138
+ ],
139
+ expectedBehaviour: "A change made here persists. A settings save that returns success without writing is the most dangerous failure a settings screen has — there is no stale display to notice and no error to read, and it has happened on this codebase before.",
140
+ expectedUiState: "The changed value is still changed after the reload. A value that reverts is the finding, even though the save reported success.",
141
+ endResult: "The original value is restored.",
142
+ },
143
+ "checklist-admin-uncovered-admin-pages-shipments-projections-renders": {
144
+ roles: ["admin"],
145
+ startPage: "/admin/shipments/projections",
146
+ steps: [
147
+ SIGN_IN_ADMIN,
148
+ "Open /admin/shipments/projections.",
149
+ "Read the figures shown.",
150
+ "Open /admin/shipments and note a real shipment's value.",
151
+ "Check the projection reflects real shipment data rather than zeros.",
152
+ "Check no figure looks inflated by a factor of a hundred.",
153
+ ],
154
+ expectedBehaviour: "Projections are computed from real shipment data. Money on this codebase is stored in whole rupees with decimals, and a fixture written in the older hundredth-unit scale inflated procurement projections a hundredfold — a figure that is obviously wrong only if somebody knows what it should be.",
155
+ expectedUiState: "Figures that correspond to the shipments list, with no order-of-magnitude jump. All zeros against real shipments, or a hundredfold figure, are both findings.",
156
+ endResult: "Read-only.",
157
+ },
158
+ "checklist-admin-uncovered-admin-pages-admin-stickers-renders": {
159
+ roles: ["admin"],
160
+ startPage: "/admin/stickers",
161
+ steps: [
162
+ SIGN_IN_ADMIN,
163
+ "Open /admin/stickers.",
164
+ "Read the rows listed and count them.",
165
+ "Apply a status filter and read the rows again.",
166
+ "Clear it and apply a different filter.",
167
+ "Check each filter returns a plausible, non-empty result where such rows exist.",
168
+ ],
169
+ expectedBehaviour: "The list and its filters return real sticker listings. A filter whose value does not exactly match a stored one returns zero rows forever with no error — the single most common silent defect in this product's listing surfaces, and it looks identical to an empty catalogue.",
170
+ expectedUiState: "Rows on the default view, and each filter returning a subset rather than nothing. An always-empty filter is the finding, named.",
171
+ endResult: "Read-only.",
172
+ },
173
+ "checklist-admin-uncovered-admin-pages-admin-deals-renders": {
174
+ roles: ["admin"],
175
+ startPage: "/admin/deals",
176
+ steps: [
177
+ SIGN_IN_ADMIN,
178
+ "Open /admin/deals.",
179
+ "Read what the page lists.",
180
+ "Open one row.",
181
+ "Read what the detail shows.",
182
+ "Read the console for errors.",
183
+ ],
184
+ expectedBehaviour: "Rows can be opened. A row offering only mutations, or no way in at all, is a dead end — an admin can act on a record they were never able to read.",
185
+ expectedUiState: "Rows render and one opens to a readable detail. A list with no detail affordance is the finding.",
186
+ endResult: "Read-only.",
187
+ },
188
+ "checklist-admin-uncovered-admin-pages-admin-featured-renders": {
189
+ roles: ["admin"],
190
+ startPage: "/admin/featured",
191
+ steps: [
192
+ SIGN_IN_ADMIN,
193
+ "Open /admin/featured and read what it lists.",
194
+ "Toggle one record's featured state.",
195
+ "Reload the page and read the same record's state.",
196
+ "Open the public surface that shows featured content and check it followed.",
197
+ "Restore the original state.",
198
+ ],
199
+ expectedBehaviour: "A featured toggle persists and the public surface follows it. A list endpoint that omits a field the edit form sends back is how a toggle silently resets — saving any other field on the record re-sends a wrong default for the one the list never returned.",
200
+ expectedUiState: "The toggled state survives the reload and appears publicly. A state that reverts is the finding.",
201
+ endResult: "The original featured state is restored.",
202
+ },
203
+ "checklist-admin-uncovered-admin-pages-admin-features-renders": {
204
+ roles: ["admin"],
205
+ startPage: "/admin/features",
206
+ steps: [
207
+ SIGN_IN_ADMIN,
208
+ "Open /admin/features and read the features listed.",
209
+ "Create a feature named 'QA Feature Probe'.",
210
+ "Save it and check it appears in the list.",
211
+ "Reload and check it is still there.",
212
+ "Delete it.",
213
+ ],
214
+ inputs: { name: "QA Feature Probe" },
215
+ expectedBehaviour: "A product feature can be created, appears in the list and survives a reload. Reloading is the whole test — an in-memory row that never reached storage looks identical until then.",
216
+ expectedUiState: "The new feature is listed before and after the reload, and is gone after the delete.",
217
+ endResult: "The QA feature is deleted.",
218
+ },
219
+ "checklist-admin-uncovered-admin-pages-admin-guides-all-render": {
220
+ roles: ["admin"],
221
+ startPage: "/admin/guide",
222
+ steps: [
223
+ SIGN_IN_ADMIN,
224
+ "Open each of these by URL in turn: /admin/guide, /admin/guide/analytics, /admin/guide/catalog, /admin/guide/content, /admin/guide/orders, /admin/guide/payments, /admin/guide/site, /admin/guide/stores, /admin/guide/team, /admin/guide/trust, /admin/guide/users and /admin/guide/whatsapp.",
225
+ "Check every one of them is also linked from the Guide area rather than only reachable by URL.",
226
+ "Record any that 404 or render empty.",
227
+ "On two of them, check the screen they describe still exists and is named the same way.",
228
+ "Record any guide describing a screen or a control that is no longer there.",
229
+ ],
230
+ expectedBehaviour: "Every guide page renders and describes something that still exists. A guide is documentation with no compiler behind it, so it rots silently — and a guide naming a deleted screen is worse than none, because it sends an employee looking for something that is gone.",
231
+ expectedUiState: "Every guide loads with real content. A 404 is a finding; so is a guide describing a screen that no longer exists, recorded with which guide and which screen.",
232
+ expectedData: { guidePagesNotFound: 0 },
233
+ endResult: "Read-only.",
234
+ },
235
+ };
@@ -0,0 +1,2 @@
1
+ import type { AuthoredCase } from "./_types";
2
+ export declare const authored: Record<string, AuthoredCase>;