@nextsparkjs/theme-default 0.1.0-beta.2 → 0.1.0-beta.21

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 (222) hide show
  1. package/package.json +8 -4
  2. package/templates/(public)/page.tsx +1 -1
  3. package/tests/cypress/e2e/_devtools/access.bdd.md +262 -0
  4. package/tests/cypress/e2e/_devtools/access.cy.ts +171 -0
  5. package/tests/cypress/e2e/_devtools/navigation.bdd.md +261 -0
  6. package/tests/cypress/e2e/_devtools/navigation.cy.ts +157 -0
  7. package/tests/cypress/e2e/_devtools/pages.bdd.md +303 -0
  8. package/tests/cypress/e2e/_devtools/pages.cy.ts +184 -0
  9. package/tests/cypress/e2e/_docs/README.md +215 -0
  10. package/tests/cypress/e2e/_docs/tutorials/sector7-superadmin-teams.narration.json +155 -0
  11. package/tests/cypress/e2e/_docs/tutorials/sector7-superadmin.cy.ts +390 -0
  12. package/tests/cypress/e2e/_docs/tutorials/teams-system.doc.cy.ts +349 -0
  13. package/tests/cypress/e2e/_docs/tutorials/teams-system.narration.json +165 -0
  14. package/tests/cypress/e2e/_selectors/auth.cy.ts +306 -0
  15. package/tests/cypress/e2e/_selectors/billing.cy.ts +89 -0
  16. package/tests/cypress/e2e/_selectors/dashboard-mobile.cy.ts +113 -0
  17. package/tests/cypress/e2e/_selectors/dashboard-navigation.cy.ts +89 -0
  18. package/tests/cypress/e2e/_selectors/dashboard-sidebar.cy.ts +60 -0
  19. package/tests/cypress/e2e/_selectors/dashboard-topnav.cy.ts +146 -0
  20. package/tests/cypress/e2e/_selectors/devtools.cy.ts +210 -0
  21. package/tests/cypress/e2e/_selectors/global-search.cy.ts +88 -0
  22. package/tests/cypress/e2e/_selectors/pages-editor.cy.ts +179 -0
  23. package/tests/cypress/e2e/_selectors/posts-editor.cy.ts +282 -0
  24. package/tests/cypress/e2e/_selectors/public.cy.ts +112 -0
  25. package/tests/cypress/e2e/_selectors/settings-api-keys.cy.ts +228 -0
  26. package/tests/cypress/e2e/_selectors/settings-billing.cy.ts +105 -0
  27. package/tests/cypress/e2e/_selectors/settings-layout.cy.ts +119 -0
  28. package/tests/cypress/e2e/_selectors/settings-password.cy.ts +71 -0
  29. package/tests/cypress/e2e/_selectors/settings-profile.cy.ts +82 -0
  30. package/tests/cypress/e2e/_selectors/settings-teams.cy.ts +68 -0
  31. package/tests/cypress/e2e/_selectors/superadmin.cy.ts +185 -0
  32. package/tests/cypress/e2e/_selectors/tasks.cy.ts +242 -0
  33. package/tests/cypress/e2e/_selectors/taxonomies.cy.ts +126 -0
  34. package/tests/cypress/e2e/_selectors/teams.cy.ts +142 -0
  35. package/tests/cypress/e2e/_superadmin/all-teams.bdd.md +261 -0
  36. package/tests/cypress/e2e/_superadmin/all-teams.cy.ts +177 -0
  37. package/tests/cypress/e2e/_superadmin/all-users.bdd.md +406 -0
  38. package/tests/cypress/e2e/_superadmin/all-users.cy.ts +294 -0
  39. package/tests/cypress/e2e/_superadmin/dashboard.bdd.md +235 -0
  40. package/tests/cypress/e2e/_superadmin/dashboard.cy.ts +149 -0
  41. package/tests/cypress/e2e/_superadmin/subscriptions-overview.bdd.md +290 -0
  42. package/tests/cypress/e2e/_superadmin/subscriptions-overview.cy.ts +194 -0
  43. package/tests/cypress/e2e/ai/ai-usage.cy.ts +209 -0
  44. package/tests/cypress/e2e/ai/chat-api.cy.ts +107 -0
  45. package/tests/cypress/e2e/ai/guardrails.cy.ts +332 -0
  46. package/tests/cypress/e2e/api/billing/BillingAPIController.js +319 -0
  47. package/tests/cypress/e2e/api/billing/check-action.cy.ts +326 -0
  48. package/tests/cypress/e2e/api/billing/checkout.cy.ts +358 -0
  49. package/tests/cypress/e2e/api/billing/lifecycle.cy.ts +423 -0
  50. package/tests/cypress/e2e/api/billing/plans/README.md +345 -0
  51. package/tests/cypress/e2e/api/billing/plans/business.cy.ts +412 -0
  52. package/tests/cypress/e2e/api/billing/plans/downgrade.cy.ts +510 -0
  53. package/tests/cypress/e2e/api/billing/plans/fixtures/billing-plans.json +163 -0
  54. package/tests/cypress/e2e/api/billing/plans/free.cy.ts +500 -0
  55. package/tests/cypress/e2e/api/billing/plans/pro.cy.ts +497 -0
  56. package/tests/cypress/e2e/api/billing/plans/starter.cy.ts +342 -0
  57. package/tests/cypress/e2e/api/billing/portal.cy.ts +313 -0
  58. package/tests/cypress/e2e/api/devtools/registries.bdd.md +300 -0
  59. package/tests/cypress/e2e/api/devtools/registries.cy.ts +368 -0
  60. package/tests/cypress/e2e/api/entities/blocks-scope.cy.ts +396 -0
  61. package/tests/cypress/e2e/api/entities/customers-crud.cy.ts +648 -0
  62. package/tests/cypress/e2e/api/entities/customers-metas.cy.ts +839 -0
  63. package/tests/cypress/e2e/api/entities/pages-crud.cy.ts +425 -0
  64. package/tests/cypress/e2e/api/entities/pages-status.cy.ts +335 -0
  65. package/tests/cypress/e2e/api/entities/post-categories-crud.cy.ts +610 -0
  66. package/tests/cypress/e2e/api/entities/posts-crud.cy.ts +709 -0
  67. package/tests/cypress/e2e/api/entities/posts-status.cy.ts +396 -0
  68. package/tests/cypress/e2e/api/entities/tasks-crud.cy.ts +602 -0
  69. package/tests/cypress/e2e/api/entities/tasks-metas.cy.ts +878 -0
  70. package/tests/cypress/e2e/api/entities/users-crud.cy.ts +469 -0
  71. package/tests/cypress/e2e/api/entities/users-metas.cy.ts +913 -0
  72. package/tests/cypress/e2e/api/entities/users-security.cy.ts +375 -0
  73. package/tests/cypress/e2e/api/scheduled-actions/cron-endpoint.bdd.md +375 -0
  74. package/tests/cypress/e2e/api/scheduled-actions/cron-endpoint.cy.ts +346 -0
  75. package/tests/cypress/e2e/api/scheduled-actions/devtools-endpoint.bdd.md +451 -0
  76. package/tests/cypress/e2e/api/scheduled-actions/devtools-endpoint.cy.ts +447 -0
  77. package/tests/cypress/e2e/api/scheduled-actions/scheduling.bdd.md +649 -0
  78. package/tests/cypress/e2e/api/scheduled-actions/scheduling.cy.ts +333 -0
  79. package/tests/cypress/e2e/api/settings/api-keys.crud.cy.ts +923 -0
  80. package/tests/cypress/e2e/uat/auth/app-roles/developer-login.bdd.md +231 -0
  81. package/tests/cypress/e2e/uat/auth/app-roles/developer-login.cy.ts +144 -0
  82. package/tests/cypress/e2e/uat/auth/app-roles/superadmin-login.bdd.md +118 -0
  83. package/tests/cypress/e2e/uat/auth/app-roles/superadmin-login.cy.ts +84 -0
  84. package/tests/cypress/e2e/uat/auth/custom-roles/editor-login.bdd.md +288 -0
  85. package/tests/cypress/e2e/uat/auth/custom-roles/editor-login.cy.ts +188 -0
  86. package/tests/cypress/e2e/uat/auth/login-logout.bdd.md +160 -0
  87. package/tests/cypress/e2e/uat/auth/login-logout.cy.ts +116 -0
  88. package/tests/cypress/e2e/uat/auth/password-reset.bdd.md +289 -0
  89. package/tests/cypress/e2e/uat/auth/password-reset.cy.ts +200 -0
  90. package/tests/cypress/e2e/uat/auth/team-roles/admin-login.bdd.md +225 -0
  91. package/tests/cypress/e2e/uat/auth/team-roles/admin-login.cy.ts +148 -0
  92. package/tests/cypress/e2e/uat/auth/team-roles/member-login.bdd.md +251 -0
  93. package/tests/cypress/e2e/uat/auth/team-roles/member-login.cy.ts +163 -0
  94. package/tests/cypress/e2e/uat/auth/team-roles/owner-login.bdd.md +231 -0
  95. package/tests/cypress/e2e/uat/auth/team-roles/owner-login.cy.ts +141 -0
  96. package/tests/cypress/e2e/uat/billing/extended.bdd.md +273 -0
  97. package/tests/cypress/e2e/uat/billing/extended.cy.ts +209 -0
  98. package/tests/cypress/e2e/uat/billing/feature-gates.bdd.md +407 -0
  99. package/tests/cypress/e2e/uat/billing/feature-gates.cy.ts +307 -0
  100. package/tests/cypress/e2e/uat/billing/page.bdd.md +329 -0
  101. package/tests/cypress/e2e/uat/billing/page.cy.ts +250 -0
  102. package/tests/cypress/e2e/uat/billing/status.bdd.md +190 -0
  103. package/tests/cypress/e2e/uat/billing/status.cy.ts +145 -0
  104. package/tests/cypress/e2e/uat/billing/team-switch.bdd.md +156 -0
  105. package/tests/cypress/e2e/uat/billing/team-switch.cy.ts +122 -0
  106. package/tests/cypress/e2e/uat/billing/usage.bdd.md +218 -0
  107. package/tests/cypress/e2e/uat/billing/usage.cy.ts +176 -0
  108. package/tests/cypress/e2e/uat/blocks/hero.bdd.md +124 -0
  109. package/tests/cypress/e2e/uat/blocks/hero.cy.ts +56 -0
  110. package/tests/cypress/e2e/uat/devtools/api-tester.cy.ts +390 -0
  111. package/tests/cypress/e2e/uat/entities/customers/member.bdd.md +275 -0
  112. package/tests/cypress/e2e/uat/entities/customers/member.cy.ts +122 -0
  113. package/tests/cypress/e2e/uat/entities/customers/owner.bdd.md +243 -0
  114. package/tests/cypress/e2e/uat/entities/customers/owner.cy.ts +165 -0
  115. package/tests/cypress/e2e/uat/entities/pages/block-crud.bdd.md +476 -0
  116. package/tests/cypress/e2e/uat/entities/pages/block-crud.cy.ts +486 -0
  117. package/tests/cypress/e2e/uat/entities/pages/block-editor.bdd.md +460 -0
  118. package/tests/cypress/e2e/uat/entities/pages/block-editor.cy.ts +301 -0
  119. package/tests/cypress/e2e/uat/entities/pages/list.bdd.md +432 -0
  120. package/tests/cypress/e2e/uat/entities/pages/list.cy.ts +273 -0
  121. package/tests/cypress/e2e/uat/entities/pages/public-rendering.bdd.md +696 -0
  122. package/tests/cypress/e2e/uat/entities/pages/public-rendering.cy.ts +340 -0
  123. package/tests/cypress/e2e/uat/entities/posts/categories-api-aware.bdd.md +161 -0
  124. package/tests/cypress/e2e/uat/entities/posts/categories-api-aware.cy.ts +104 -0
  125. package/tests/cypress/e2e/uat/entities/posts/categories.bdd.md +375 -0
  126. package/tests/cypress/e2e/uat/entities/posts/categories.cy.ts +241 -0
  127. package/tests/cypress/e2e/uat/entities/posts/editor.bdd.md +429 -0
  128. package/tests/cypress/e2e/uat/entities/posts/editor.cy.ts +257 -0
  129. package/tests/cypress/e2e/uat/entities/posts/list.bdd.md +340 -0
  130. package/tests/cypress/e2e/uat/entities/posts/list.cy.ts +177 -0
  131. package/tests/cypress/e2e/uat/entities/posts/public.bdd.md +614 -0
  132. package/tests/cypress/e2e/uat/entities/posts/public.cy.ts +249 -0
  133. package/tests/cypress/e2e/uat/entities/tasks/member.bdd.md +222 -0
  134. package/tests/cypress/e2e/uat/entities/tasks/member.cy.ts +165 -0
  135. package/tests/cypress/e2e/uat/entities/tasks/owner.bdd.md +419 -0
  136. package/tests/cypress/e2e/uat/entities/tasks/owner.cy.ts +191 -0
  137. package/tests/cypress/e2e/uat/roles/editor-role.bdd.md +552 -0
  138. package/tests/cypress/e2e/uat/roles/editor-role.cy.ts +210 -0
  139. package/tests/cypress/e2e/uat/roles/member-restrictions.bdd.md +450 -0
  140. package/tests/cypress/e2e/uat/roles/member-restrictions.cy.ts +189 -0
  141. package/tests/cypress/e2e/uat/roles/owner-full-crud.bdd.md +530 -0
  142. package/tests/cypress/e2e/uat/roles/owner-full-crud.cy.ts +247 -0
  143. package/tests/cypress/e2e/uat/scheduled-actions/devtools-ui.bdd.md +736 -0
  144. package/tests/cypress/e2e/uat/scheduled-actions/devtools-ui.cy.ts +740 -0
  145. package/tests/cypress/e2e/uat/teams/roles-matrix.bdd.md +553 -0
  146. package/tests/cypress/e2e/uat/teams/roles-matrix.cy.ts +185 -0
  147. package/tests/cypress/e2e/uat/teams/switcher.bdd.md +1151 -0
  148. package/tests/cypress/e2e/uat/teams/switcher.cy.ts +497 -0
  149. package/tests/cypress/e2e/uat/teams/team-switcher.md +198 -0
  150. package/tests/cypress/fixtures/blocks.json +218 -0
  151. package/tests/cypress/fixtures/entities.json +78 -0
  152. package/tests/cypress/fixtures/page-builder.json +21 -0
  153. package/tests/cypress/src/components/CategoriesPOM.ts +382 -0
  154. package/tests/cypress/src/components/CustomersPOM.ts +439 -0
  155. package/tests/cypress/src/components/DevKeyringPOM.ts +160 -0
  156. package/tests/cypress/src/components/EntityForm.ts +375 -0
  157. package/tests/cypress/src/components/EntityList.ts +389 -0
  158. package/tests/cypress/src/components/PageBuilderPOM.ts +710 -0
  159. package/tests/cypress/src/components/PostEditorPOM.ts +370 -0
  160. package/tests/cypress/src/components/PostsListPOM.ts +223 -0
  161. package/tests/cypress/src/components/PublicPagePOM.ts +447 -0
  162. package/tests/cypress/src/components/PublicPostPOM.ts +146 -0
  163. package/tests/cypress/src/components/TasksPOM.ts +272 -0
  164. package/tests/cypress/src/components/TeamSwitcherPOM.ts +450 -0
  165. package/tests/cypress/src/components/index.ts +21 -0
  166. package/tests/cypress/src/controllers/ApiKeysAPIController.js +178 -0
  167. package/tests/cypress/src/controllers/BaseAPIController.js +317 -0
  168. package/tests/cypress/src/controllers/CustomerAPIController.js +251 -0
  169. package/tests/cypress/src/controllers/PagesAPIController.js +226 -0
  170. package/tests/cypress/src/controllers/PostsAPIController.js +250 -0
  171. package/tests/cypress/src/controllers/TaskAPIController.js +240 -0
  172. package/tests/cypress/src/controllers/UsersAPIController.js +242 -0
  173. package/tests/cypress/src/controllers/index.js +25 -0
  174. package/tests/cypress/src/core/AuthPOM.ts +450 -0
  175. package/tests/cypress/src/core/BasePOM.ts +86 -0
  176. package/tests/cypress/src/core/BlockEditorBasePOM.ts +576 -0
  177. package/tests/cypress/src/core/DashboardEntityPOM.ts +692 -0
  178. package/tests/cypress/src/core/index.ts +14 -0
  179. package/tests/cypress/src/entities/CustomersPOM.ts +172 -0
  180. package/tests/cypress/src/entities/PagesPOM.ts +137 -0
  181. package/tests/cypress/src/entities/PostsPOM.ts +137 -0
  182. package/tests/cypress/src/entities/TasksPOM.ts +176 -0
  183. package/tests/cypress/src/entities/index.ts +14 -0
  184. package/tests/cypress/src/features/BillingPOM.ts +385 -0
  185. package/tests/cypress/src/features/DashboardPOM.ts +245 -0
  186. package/tests/cypress/src/features/DevtoolsPOM.ts +739 -0
  187. package/tests/cypress/src/features/PageBuilderPOM.ts +263 -0
  188. package/tests/cypress/src/features/PostEditorPOM.ts +313 -0
  189. package/tests/cypress/src/features/ScheduledActionsPOM.ts +463 -0
  190. package/tests/cypress/src/features/SettingsPOM.ts +362 -0
  191. package/tests/cypress/src/features/SuperadminPOM.ts +331 -0
  192. package/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +285 -0
  193. package/tests/cypress/src/features/index.ts +28 -0
  194. package/tests/cypress/src/helpers/ApiInterceptor.ts +177 -0
  195. package/tests/cypress/src/index.ts +101 -0
  196. package/tests/cypress/src/pages/dashboard/Dashboard.js +677 -0
  197. package/tests/cypress/src/pages/dashboard/DashboardPage.js +43 -0
  198. package/tests/cypress/src/pages/dashboard/DashboardStats.js +546 -0
  199. package/tests/cypress/src/pages/dashboard/index.js +6 -0
  200. package/tests/cypress/src/pages/index.js +5 -0
  201. package/tests/cypress/src/pages/public/FeaturesPage.js +28 -0
  202. package/tests/cypress/src/pages/public/LandingPage.js +69 -0
  203. package/tests/cypress/src/pages/public/PricingPage.js +33 -0
  204. package/tests/cypress/src/pages/public/index.js +6 -0
  205. package/tests/cypress/src/selectors.ts +46 -0
  206. package/tests/cypress/src/session-helpers.ts +500 -0
  207. package/tests/cypress/support/doc-commands.ts +260 -0
  208. package/tests/cypress.config.ts +150 -0
  209. package/tests/jest/components/post-header.test.tsx +377 -0
  210. package/tests/jest/config/role-config.test.ts +529 -0
  211. package/tests/jest/jest.config.ts +81 -0
  212. package/tests/jest/langchain/COVERAGE.md +372 -0
  213. package/tests/jest/langchain/guardrails.test.ts +465 -0
  214. package/tests/jest/langchain/streaming.test.ts +367 -0
  215. package/tests/jest/langchain/token-tracker.test.ts +455 -0
  216. package/tests/jest/langchain/tracer-callbacks.test.ts +881 -0
  217. package/tests/jest/langchain/tracer.test.ts +823 -0
  218. package/tests/jest/user-roles/role-helpers.test.ts +432 -0
  219. package/tests/jest/validation/categories.test.ts +429 -0
  220. package/tests/jest/validation/posts.test.ts +546 -0
  221. package/tests/tsconfig.json +15 -0
  222. package/LICENSE +0 -21
@@ -0,0 +1,261 @@
1
+ ---
2
+ feature: DevTools Navigation
3
+ priority: high
4
+ tags: [dev-area, navigation, sidebar]
5
+ grepTags: [uat, feat-dev-area, regression]
6
+ coverage: 7
7
+ ---
8
+
9
+ # DevTools Navigation
10
+
11
+ > Navigation functionality tests within the /devtools area. Validates sidebar navigation items, clickable links, and exit navigation to Dashboard and Admin.
12
+
13
+ ## @test NAV-001: Sidebar navigation works
14
+
15
+ ### Metadata
16
+ - **Priority:** High
17
+ - **Type:** Smoke
18
+ - **Tags:** sidebar, navigation, display
19
+ - **Grep:** `@smoke`
20
+
21
+ ```gherkin:en
22
+ Scenario: All sidebar navigation items are displayed
23
+
24
+ Given I am logged in as Developer (developer@nextspark.dev)
25
+ When I visit /devtools home
26
+ Then all navigation items should be visible in sidebar
27
+ And exit links (Dashboard, Admin) should be visible
28
+ ```
29
+
30
+ ```gherkin:es
31
+ Scenario: Todos los items de navegacion del sidebar estan visibles
32
+
33
+ Given estoy logueado como Developer (developer@nextspark.dev)
34
+ When visito /devtools home
35
+ Then todos los items de navegacion deberian estar visibles en el sidebar
36
+ And los enlaces de salida (Dashboard, Admin) deberian estar visibles
37
+ ```
38
+
39
+ ### Expected Results
40
+ - Home, Style Gallery, Test Cases, Config links visible
41
+ - Exit to Dashboard link visible
42
+ - Go to Admin link visible
43
+
44
+ ---
45
+
46
+ ## @test NAV-002a: Navigate to Style Gallery via sidebar
47
+
48
+ ### Metadata
49
+ - **Priority:** High
50
+ - **Type:** Smoke
51
+ - **Tags:** navigate, style-gallery
52
+
53
+ ```gherkin:en
54
+ Scenario: Navigate to Style Gallery via sidebar
55
+
56
+ Given I am on /devtools home
57
+ When I click Style Gallery nav item
58
+ Then the URL should include /devtools/style
59
+ And the style page should be visible
60
+ ```
61
+
62
+ ```gherkin:es
63
+ Scenario: Navegar a Style Gallery via sidebar
64
+
65
+ Given estoy en /devtools home
66
+ When hago clic en el item de navegacion Style Gallery
67
+ Then la URL deberia incluir /devtools/style
68
+ And la pagina de estilos deberia estar visible
69
+ ```
70
+
71
+ ### Expected Results
72
+ - Navigation completes successfully
73
+ - Style Gallery page loads
74
+
75
+ ---
76
+
77
+ ## @test NAV-002b: Navigate to Test Cases via sidebar
78
+
79
+ ### Metadata
80
+ - **Priority:** High
81
+ - **Type:** Smoke
82
+ - **Tags:** navigate, test-cases
83
+
84
+ ```gherkin:en
85
+ Scenario: Navigate to Test Cases via sidebar
86
+
87
+ Given I am on /devtools home
88
+ When I click Test Cases nav item
89
+ Then the URL should include /devtools/tests
90
+ And the tests page should be visible
91
+ ```
92
+
93
+ ```gherkin:es
94
+ Scenario: Navegar a Test Cases via sidebar
95
+
96
+ Given estoy en /devtools home
97
+ When hago clic en el item de navegacion Test Cases
98
+ Then la URL deberia incluir /devtools/tests
99
+ And la pagina de tests deberia estar visible
100
+ ```
101
+
102
+ ### Expected Results
103
+ - Navigation completes successfully
104
+ - Test Cases viewer page loads
105
+
106
+ ---
107
+
108
+ ## @test NAV-002c: Navigate to Config Viewer via sidebar
109
+
110
+ ### Metadata
111
+ - **Priority:** High
112
+ - **Type:** Smoke
113
+ - **Tags:** navigate, config
114
+
115
+ ```gherkin:en
116
+ Scenario: Navigate to Config Viewer via sidebar
117
+
118
+ Given I am on /devtools home
119
+ When I click Config nav item
120
+ Then the URL should include /devtools/config
121
+ And the config page should be visible
122
+ ```
123
+
124
+ ```gherkin:es
125
+ Scenario: Navegar a Config Viewer via sidebar
126
+
127
+ Given estoy en /devtools home
128
+ When hago clic en el item de navegacion Config
129
+ Then la URL deberia incluir /devtools/config
130
+ And la pagina de config deberia estar visible
131
+ ```
132
+
133
+ ### Expected Results
134
+ - Navigation completes successfully
135
+ - Config Viewer page loads
136
+
137
+ ---
138
+
139
+ ## @test NAV-002d: Navigate back to Home via sidebar
140
+
141
+ ### Metadata
142
+ - **Priority:** High
143
+ - **Type:** Smoke
144
+ - **Tags:** navigate, home
145
+
146
+ ```gherkin:en
147
+ Scenario: Navigate back to Home via sidebar
148
+
149
+ Given I am on /devtools/style
150
+ When I click Home nav item
151
+ Then the URL should be /devtools
152
+ And the home page should be visible
153
+ ```
154
+
155
+ ```gherkin:es
156
+ Scenario: Navegar de vuelta a Home via sidebar
157
+
158
+ Given estoy en /devtools/style
159
+ When hago clic en el item de navegacion Home
160
+ Then la URL deberia ser /devtools
161
+ And la pagina home deberia estar visible
162
+ ```
163
+
164
+ ### Expected Results
165
+ - Navigation completes successfully
166
+ - Home page loads
167
+
168
+ ---
169
+
170
+ ## @test NAV-003: Back to Dashboard link works
171
+
172
+ ### Metadata
173
+ - **Priority:** High
174
+ - **Type:** Smoke
175
+ - **Tags:** exit, dashboard
176
+
177
+ ```gherkin:en
178
+ Scenario: Navigate to Dashboard when clicking exit link
179
+
180
+ Given I am on /devtools home
181
+ When I click "Exit to Dashboard" link
182
+ Then the URL should include /dashboard
183
+ And the URL should not include /devtools
184
+ And the dashboard container should be visible
185
+ ```
186
+
187
+ ```gherkin:es
188
+ Scenario: Navegar a Dashboard al hacer clic en enlace de salida
189
+
190
+ Given estoy en /devtools home
191
+ When hago clic en el enlace "Exit to Dashboard"
192
+ Then la URL deberia incluir /dashboard
193
+ And la URL no deberia incluir /devtools
194
+ And el contenedor del dashboard deberia estar visible
195
+ ```
196
+
197
+ ### Expected Results
198
+ - Exit navigation works correctly
199
+ - User lands on main dashboard
200
+ - No /devtools in URL
201
+
202
+ ---
203
+
204
+ ## @test NAV-004: Go to Admin link works
205
+
206
+ ### Metadata
207
+ - **Priority:** High
208
+ - **Type:** Smoke
209
+ - **Tags:** exit, admin
210
+
211
+ ```gherkin:en
212
+ Scenario: Navigate to Admin when clicking exit link
213
+
214
+ Given I am on /devtools home
215
+ When I click "Go to Admin" link
216
+ Then the URL should include /admin
217
+ And the Admin container should be visible
218
+ ```
219
+
220
+ ```gherkin:es
221
+ Scenario: Navegar a Admin al hacer clic en enlace de salida
222
+
223
+ Given estoy en /devtools home
224
+ When hago clic en el enlace "Go to Admin"
225
+ Then la URL deberia incluir /admin
226
+ And el contenedor de Admin deberia estar visible
227
+ ```
228
+
229
+ ### Expected Results
230
+ - Exit to Admin works correctly
231
+ - Developer can access Admin (inherited privileges)
232
+ - Admin control panel visible
233
+
234
+ ---
235
+
236
+ ## UI Elements
237
+
238
+ | Element | Selector | Description |
239
+ |---------|----------|-------------|
240
+ | Nav Home | `[data-cy="dev-nav-home"]` | Home navigation item |
241
+ | Nav Style Gallery | `[data-cy="dev-nav-stylegallery"]` | Style Gallery navigation item |
242
+ | Nav Test Cases | `[data-cy="dev-nav-testcases"]` | Test Cases navigation item |
243
+ | Nav Config | `[data-cy="dev-nav-config"]` | Config navigation item |
244
+ | Exit to Dashboard | `[data-cy="dev-sidebar-exit-to-dashboard"]` | Exit to dashboard link |
245
+ | Go to Admin | `[data-cy="dev-sidebar-go-to-admin"]` | Go to Admin link |
246
+ | Dashboard Container | `[data-cy="dashboard-container"]` | Main dashboard container |
247
+ | Admin Container | `[data-cy="admin-container"]` | Admin main container |
248
+
249
+ ---
250
+
251
+ ## Summary
252
+
253
+ | Test ID | Block | Description | Tags |
254
+ |---------|-------|-------------|------|
255
+ | NAV-001 | Sidebar Display | All navigation items visible | `@smoke` |
256
+ | NAV-002a | Navigate | Style Gallery via sidebar | |
257
+ | NAV-002b | Navigate | Test Cases via sidebar | |
258
+ | NAV-002c | Navigate | Config Viewer via sidebar | |
259
+ | NAV-002d | Navigate | Back to Home via sidebar | |
260
+ | NAV-003 | Exit Links | Back to Dashboard works | |
261
+ | NAV-004 | Exit Links | Go to Admin works | |
@@ -0,0 +1,157 @@
1
+ /// <reference types="cypress" />
2
+
3
+ import * as allure from 'allure-cypress'
4
+ import { DevtoolsPOM } from '../../src/features/DevtoolsPOM'
5
+ import { loginAsDefaultDeveloper } from '../../src/session-helpers'
6
+
7
+ /**
8
+ * DevTools Navigation Tests
9
+ *
10
+ * Tests the navigation functionality within the /devtools area:
11
+ * - Sidebar navigation items work correctly
12
+ * - All nav links are clickable and navigate to correct pages
13
+ * - Exit links (Dashboard, Admin) work
14
+ * - URL changes reflect navigation
15
+ *
16
+ * Test User:
17
+ * - Developer: developer@nextspark.dev (via loginAsDefaultDeveloper)
18
+ */
19
+
20
+ describe('DevTools - Navigation', {
21
+ tags: ['@uat', '@feat-devtools', '@regression']
22
+ }, () => {
23
+ const devtools = DevtoolsPOM.create()
24
+
25
+ beforeEach(() => {
26
+ allure.epic('UAT')
27
+ allure.feature('DevTools')
28
+ allure.story('Navigation')
29
+
30
+ // Login as developer before each test
31
+ loginAsDefaultDeveloper()
32
+ })
33
+
34
+ describe('NAV-001: Sidebar navigation works', () => {
35
+ it('should display all sidebar navigation items', () => {
36
+ allure.severity('high')
37
+
38
+ // 1. Visit /devtools home
39
+ devtools.visitHome()
40
+
41
+ // 2. Verify all navigation items are visible
42
+ devtools.assertSidebarNavigationVisible()
43
+
44
+ // 3. Verify exit links are visible
45
+ devtools.assertExitLinksVisible()
46
+
47
+ cy.log(`✅ Sidebar navigation displayed correctly`)
48
+ })
49
+ })
50
+
51
+ describe('NAV-002: All nav links are clickable', () => {
52
+ it('should navigate to Style Gallery via sidebar', () => {
53
+ allure.severity('high')
54
+
55
+ // 1. Start at /devtools home
56
+ devtools.visitHome()
57
+
58
+ // 2. Click Style Gallery nav item
59
+ devtools.clickNavStyleGallery()
60
+
61
+ // 3. Verify navigation to /devtools/style
62
+ devtools.assertOnStyleGallery()
63
+ devtools.assertStylePageVisible()
64
+
65
+ cy.log(`✅ Style Gallery navigation works`)
66
+ })
67
+
68
+ it('should navigate to Test Cases via sidebar', () => {
69
+ allure.severity('high')
70
+
71
+ // 1. Start at /devtools home
72
+ devtools.visitHome()
73
+
74
+ // 2. Click Test Cases nav item
75
+ devtools.clickNavTestCases()
76
+
77
+ // 3. Verify navigation to /devtools/tests
78
+ devtools.assertOnTestCases()
79
+ devtools.assertTestsPageVisible()
80
+
81
+ cy.log(`✅ Test Cases navigation works`)
82
+ })
83
+
84
+ it('should navigate to Config Viewer via sidebar', () => {
85
+ allure.severity('high')
86
+
87
+ // 1. Start at /devtools home
88
+ devtools.visitHome()
89
+
90
+ // 2. Click Config nav item
91
+ devtools.clickNavConfig()
92
+
93
+ // 3. Verify navigation to /devtools/config
94
+ devtools.assertOnConfig()
95
+ devtools.assertConfigPageVisible()
96
+
97
+ cy.log(`✅ Config Viewer navigation works`)
98
+ })
99
+
100
+ it('should navigate back to Home via sidebar', () => {
101
+ allure.severity('high')
102
+
103
+ // 1. Start at /devtools/style
104
+ devtools.visitStyleGallery()
105
+
106
+ // 2. Click Home nav item
107
+ devtools.clickNavHome()
108
+
109
+ // 3. Verify navigation to /devtools
110
+ devtools.assertOnDevtoolsHome()
111
+ devtools.assertHomePageVisible()
112
+
113
+ cy.log(`✅ Home navigation works`)
114
+ })
115
+ })
116
+
117
+ describe('NAV-003: Back to Dashboard link works', () => {
118
+ it('should navigate to Dashboard when clicking exit link', () => {
119
+ allure.severity('high')
120
+
121
+ // 1. Start at /devtools home
122
+ devtools.visitHome()
123
+
124
+ // 2. Click "Exit to Dashboard" link
125
+ devtools.clickExitToDashboard()
126
+
127
+ // 3. Verify navigation to /dashboard
128
+ cy.url().should('include', '/dashboard')
129
+ cy.url().should('not.include', '/devtools')
130
+ cy.get('[data-cy="dashboard-container"]').should('be.visible')
131
+
132
+ cy.log(`✅ Exit to Dashboard works`)
133
+ })
134
+ })
135
+
136
+ describe('NAV-004: Go to Admin link works', () => {
137
+ it('should navigate to Admin when clicking exit link', () => {
138
+ allure.severity('high')
139
+
140
+ // 1. Start at /devtools home
141
+ devtools.visitHome()
142
+
143
+ // 2. Click "Go to Admin" link
144
+ devtools.clickGoToAdmin()
145
+
146
+ // 3. Verify navigation to /admin
147
+ devtools.assertOnAdmin()
148
+ cy.get('[data-cy="admin-container"]').should('be.visible')
149
+
150
+ cy.log(`✅ Go to Admin works`)
151
+ })
152
+ })
153
+
154
+ after(() => {
155
+ cy.log('✅ DevTools navigation tests completed')
156
+ })
157
+ })
@@ -0,0 +1,303 @@
1
+ ---
2
+ feature: DevTools Page Content
3
+ priority: high
4
+ tags: [dev-area, pages, content]
5
+ grepTags: [uat, feat-dev-area, regression]
6
+ coverage: 6
7
+ ---
8
+
9
+ # DevTools Page Content
10
+
11
+ > Tests the content and functionality of each /devtools page including Home quick links, Style Gallery components, Test Cases viewer, and Config viewer tabs.
12
+
13
+ ## @test PAGE-001: Home page renders quick links
14
+
15
+ ### Metadata
16
+ - **Priority:** High
17
+ - **Type:** Smoke
18
+ - **Tags:** home, quick-links
19
+ - **Grep:** `@smoke`
20
+
21
+ ```gherkin:en
22
+ Scenario: Display all quick link cards on home page
23
+
24
+ Given I am logged in as Developer (developer@nextspark.dev)
25
+ When I visit /devtools home
26
+ Then the home page container should be visible
27
+ And all quick links should be visible (Style, Tests, Config)
28
+
29
+ When I click Style Gallery quick link
30
+ Then I should be on /devtools/style
31
+
32
+ When I go back to /devtools home
33
+ And I click Test Cases quick link
34
+ Then I should be on /devtools/tests
35
+
36
+ When I go back to /devtools home
37
+ And I click Config Viewer quick link
38
+ Then I should be on /devtools/config
39
+ ```
40
+
41
+ ```gherkin:es
42
+ Scenario: Mostrar todas las tarjetas de enlaces rapidos en home
43
+
44
+ Given estoy logueado como Developer (developer@nextspark.dev)
45
+ When visito /devtools home
46
+ Then el contenedor de home page deberia estar visible
47
+ And todos los enlaces rapidos deberian estar visibles (Style, Tests, Config)
48
+
49
+ When hago clic en el enlace rapido Style Gallery
50
+ Then deberia estar en /devtools/style
51
+
52
+ When vuelvo a /devtools home
53
+ And hago clic en el enlace rapido Test Cases
54
+ Then deberia estar en /devtools/tests
55
+
56
+ When vuelvo a /devtools home
57
+ And hago clic en el enlace rapido Config Viewer
58
+ Then deberia estar en /devtools/config
59
+ ```
60
+
61
+ ### Expected Results
62
+ - Home page container visible
63
+ - All 3 quick link cards displayed
64
+ - Each quick link navigates correctly
65
+ - All target pages load successfully
66
+
67
+ ---
68
+
69
+ ## @test PAGE-002: Style Gallery loads components
70
+
71
+ ### Metadata
72
+ - **Priority:** High
73
+ - **Type:** Smoke
74
+ - **Tags:** style-gallery, components, tabs
75
+
76
+ ```gherkin:en
77
+ Scenario: Display all Style Gallery sections
78
+
79
+ Given I am logged in as Developer (developer@nextspark.dev)
80
+ When I visit /devtools/style
81
+ Then the style page should be visible
82
+
83
+ And I verify all tab sections by clicking through them:
84
+ | Tab | Content Section |
85
+ | Components | Component Gallery |
86
+ | Field Types | Field Types Gallery |
87
+ | Theme | Theme Preview |
88
+ ```
89
+
90
+ ```gherkin:es
91
+ Scenario: Mostrar todas las secciones de Style Gallery
92
+
93
+ Given estoy logueado como Developer (developer@nextspark.dev)
94
+ When visito /devtools/style
95
+ Then la pagina de estilos deberia estar visible
96
+
97
+ And verifico todas las secciones de tabs haciendo clic en cada una:
98
+ | Tab | Seccion de Contenido |
99
+ | Components | Component Gallery |
100
+ | Field Types | Field Types Gallery |
101
+ | Theme | Theme Preview |
102
+ ```
103
+
104
+ ### Expected Results
105
+ - Style page container visible
106
+ - Components tab visible by default
107
+ - Field Types tab content loads on click
108
+ - Theme tab content loads on click
109
+
110
+ ---
111
+
112
+ ## @test PAGE-003a: Test Cases viewer shows file tree
113
+
114
+ ### Metadata
115
+ - **Priority:** High
116
+ - **Type:** Smoke
117
+ - **Tags:** test-cases, file-tree
118
+
119
+ ```gherkin:en
120
+ Scenario: Display test cases viewer with file tree
121
+
122
+ Given I am logged in as Developer (developer@nextspark.dev)
123
+ When I visit /devtools/tests
124
+ Then the tests page should be visible
125
+ And the viewer container should be visible
126
+ And either file tree or empty state should be displayed
127
+ ```
128
+
129
+ ```gherkin:es
130
+ Scenario: Mostrar visor de test cases con arbol de archivos
131
+
132
+ Given estoy logueado como Developer (developer@nextspark.dev)
133
+ When visito /devtools/tests
134
+ Then la pagina de tests deberia estar visible
135
+ And el contenedor del visor deberia estar visible
136
+ And deberia mostrarse el arbol de archivos o estado vacio
137
+ ```
138
+
139
+ ### Expected Results
140
+ - Tests page container visible
141
+ - Viewer component rendered
142
+ - File tree shows .bdd.md files (or empty state)
143
+
144
+ ---
145
+
146
+ ## @test PAGE-003b: Test Cases viewer shows markdown content
147
+
148
+ ### Metadata
149
+ - **Priority:** Medium
150
+ - **Type:** Regression
151
+ - **Tags:** test-cases, markdown, file-select
152
+
153
+ ```gherkin:en
154
+ Scenario: Show markdown content when selecting a file
155
+
156
+ Given I am on /devtools/tests
157
+ When I check if file tree has files
158
+ And files exist
159
+ And I click on the first file
160
+ Then the content area should be visible
161
+ And markdown content should be rendered
162
+ ```
163
+
164
+ ```gherkin:es
165
+ Scenario: Mostrar contenido markdown al seleccionar un archivo
166
+
167
+ Given estoy en /devtools/tests
168
+ When verifico si el arbol de archivos tiene archivos
169
+ And existen archivos
170
+ And hago clic en el primer archivo
171
+ Then el area de contenido deberia estar visible
172
+ And el contenido markdown deberia estar renderizado
173
+ ```
174
+
175
+ ### Expected Results
176
+ - File selection works
177
+ - Markdown content loads
178
+ - Content is properly formatted
179
+
180
+ ---
181
+
182
+ ## @test PAGE-004a: Config viewer shows tabs
183
+
184
+ ### Metadata
185
+ - **Priority:** High
186
+ - **Type:** Smoke
187
+ - **Tags:** config, tabs
188
+
189
+ ```gherkin:en
190
+ Scenario: Display config viewer with tabs
191
+
192
+ Given I am logged in as Developer (developer@nextspark.dev)
193
+ When I visit /devtools/config
194
+ Then the config page should be visible
195
+ And config tabs should be visible (Theme, Entities)
196
+
197
+ When I click Theme tab
198
+ Then Theme content should be visible
199
+
200
+ When I click Entities tab
201
+ Then Entities content should be visible
202
+ ```
203
+
204
+ ```gherkin:es
205
+ Scenario: Mostrar visor de config con tabs
206
+
207
+ Given estoy logueado como Developer (developer@nextspark.dev)
208
+ When visito /devtools/config
209
+ Then la pagina de config deberia estar visible
210
+ And los tabs de config deberian estar visibles (Theme, Entities)
211
+
212
+ When hago clic en el tab Theme
213
+ Then el contenido de Theme deberia estar visible
214
+
215
+ When hago clic en el tab Entities
216
+ Then el contenido de Entities deberia estar visible
217
+ ```
218
+
219
+ ### Expected Results
220
+ - Config page container visible
221
+ - Theme and Entities tabs visible
222
+ - Tab switching works correctly
223
+ - Each tab shows correct content
224
+
225
+ ---
226
+
227
+ ## @test PAGE-004b: Config viewer shows copy buttons
228
+
229
+ ### Metadata
230
+ - **Priority:** Medium
231
+ - **Type:** Regression
232
+ - **Tags:** config, copy-buttons
233
+
234
+ ```gherkin:en
235
+ Scenario: Display copy buttons in config viewer
236
+
237
+ Given I am on /devtools/config
238
+ When I click Theme tab
239
+ Then copy button for theme config should be visible
240
+
241
+ When I click Entities tab
242
+ Then copy button for entities config should be visible
243
+ ```
244
+
245
+ ```gherkin:es
246
+ Scenario: Mostrar botones de copia en el visor de config
247
+
248
+ Given estoy en /devtools/config
249
+ When hago clic en el tab Theme
250
+ Then el boton de copia para config de theme deberia estar visible
251
+
252
+ When hago clic en el tab Entities
253
+ Then el boton de copia para config de entities deberia estar visible
254
+ ```
255
+
256
+ ### Expected Results
257
+ - Copy buttons present in both tabs
258
+ - Copy functionality available for developers
259
+
260
+ ---
261
+
262
+ ## UI Elements
263
+
264
+ | Element | Selector | Description |
265
+ |---------|----------|-------------|
266
+ | Home Page | `[data-cy="dev-home-page"]` | Dev home page container |
267
+ | Home Style Link | `[data-cy="dev-home-style-link"]` | Quick link to Style Gallery |
268
+ | Home Tests Link | `[data-cy="dev-home-tests-link"]` | Quick link to Test Cases |
269
+ | Home Config Link | `[data-cy="dev-home-config-link"]` | Quick link to Config Viewer |
270
+ | Style Page | `[data-cy="dev-style-page"]` | Style Gallery page container |
271
+ | Style Tab Components | `[data-cy="dev-style-tab-components"]` | Components tab trigger |
272
+ | Style Tab Field Types | `[data-cy="dev-style-tab-field-types"]` | Field Types tab trigger |
273
+ | Style Tab Theme | `[data-cy="dev-style-tab-theme"]` | Theme tab trigger |
274
+ | Style Component Gallery | `[data-cy="dev-style-component-gallery"]` | Components tab content |
275
+ | Style Field Types | `[data-cy="dev-style-field-types"]` | Field Types tab content |
276
+ | Style Theme Preview | `[data-cy="dev-style-theme-preview"]` | Theme tab content |
277
+ | Tests Page | `[data-cy="dev-tests-page"]` | Test Cases page container |
278
+ | Tests Viewer | `[data-cy="dev-tests-viewer"]` | Test viewer container |
279
+ | Tests Tree | `[data-cy="dev-tests-tree"]` | File tree component |
280
+ | Tests Empty State | `[data-cy="dev-tests-empty-state"]` | Empty state when no files |
281
+ | Tests Content | `[data-cy="dev-tests-content"]` | Content display area |
282
+ | Tests Markdown | `[data-cy="dev-tests-markdown-content"]` | Rendered markdown content |
283
+ | Config Page | `[data-cy="dev-config-page"]` | Config Viewer page container |
284
+ | Config Viewer | `[data-cy="dev-config-viewer"]` | Config viewer container |
285
+ | Config Tab Theme | `[data-cy="dev-config-tab-theme"]` | Theme tab trigger |
286
+ | Config Tab Entities | `[data-cy="dev-config-tab-entities"]` | Entities tab trigger |
287
+ | Config Theme Content | `[data-cy="dev-config-theme-content"]` | Theme config content |
288
+ | Config Entities Content | `[data-cy="dev-config-entities-content"]` | Entities config content |
289
+ | Config Copy Theme | `[data-cy="dev-config-copy-theme"]` | Copy theme config button |
290
+ | Config Copy Entities | `[data-cy="dev-config-copy-entities"]` | Copy entities config button |
291
+
292
+ ---
293
+
294
+ ## Summary
295
+
296
+ | Test ID | Block | Description | Tags |
297
+ |---------|-------|-------------|------|
298
+ | PAGE-001 | Home Page | Quick links display and work | `@smoke` |
299
+ | PAGE-002 | Style Gallery | All tab sections load | |
300
+ | PAGE-003a | Test Cases | File tree viewer works | |
301
+ | PAGE-003b | Test Cases | Markdown content renders | |
302
+ | PAGE-004a | Config Viewer | Tabs display and switch | |
303
+ | PAGE-004b | Config Viewer | Copy buttons available | |