@nextsparkjs/theme-default 0.1.0-beta.20 → 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.
- package/package.json +1 -1
- package/tests/cypress/e2e/_devtools/access.bdd.md +262 -0
- package/tests/cypress/e2e/_devtools/access.cy.ts +171 -0
- package/tests/cypress/e2e/_devtools/navigation.bdd.md +261 -0
- package/tests/cypress/e2e/_devtools/navigation.cy.ts +157 -0
- package/tests/cypress/e2e/_devtools/pages.bdd.md +303 -0
- package/tests/cypress/e2e/_devtools/pages.cy.ts +184 -0
- package/tests/cypress/e2e/_docs/README.md +215 -0
- package/tests/cypress/e2e/_docs/tutorials/sector7-superadmin-teams.narration.json +155 -0
- package/tests/cypress/e2e/_docs/tutorials/sector7-superadmin.cy.ts +390 -0
- package/tests/cypress/e2e/_docs/tutorials/teams-system.doc.cy.ts +349 -0
- package/tests/cypress/e2e/_docs/tutorials/teams-system.narration.json +165 -0
- package/tests/cypress/e2e/_selectors/auth.cy.ts +306 -0
- package/tests/cypress/e2e/_selectors/billing.cy.ts +89 -0
- package/tests/cypress/e2e/_selectors/dashboard-mobile.cy.ts +113 -0
- package/tests/cypress/e2e/_selectors/dashboard-navigation.cy.ts +89 -0
- package/tests/cypress/e2e/_selectors/dashboard-sidebar.cy.ts +60 -0
- package/tests/cypress/e2e/_selectors/dashboard-topnav.cy.ts +146 -0
- package/tests/cypress/e2e/_selectors/devtools.cy.ts +210 -0
- package/tests/cypress/e2e/_selectors/global-search.cy.ts +88 -0
- package/tests/cypress/e2e/_selectors/pages-editor.cy.ts +179 -0
- package/tests/cypress/e2e/_selectors/posts-editor.cy.ts +282 -0
- package/tests/cypress/e2e/_selectors/public.cy.ts +112 -0
- package/tests/cypress/e2e/_selectors/settings-api-keys.cy.ts +228 -0
- package/tests/cypress/e2e/_selectors/settings-billing.cy.ts +105 -0
- package/tests/cypress/e2e/_selectors/settings-layout.cy.ts +119 -0
- package/tests/cypress/e2e/_selectors/settings-password.cy.ts +71 -0
- package/tests/cypress/e2e/_selectors/settings-profile.cy.ts +82 -0
- package/tests/cypress/e2e/_selectors/settings-teams.cy.ts +68 -0
- package/tests/cypress/e2e/_selectors/superadmin.cy.ts +185 -0
- package/tests/cypress/e2e/_selectors/tasks.cy.ts +242 -0
- package/tests/cypress/e2e/_selectors/taxonomies.cy.ts +126 -0
- package/tests/cypress/e2e/_selectors/teams.cy.ts +142 -0
- package/tests/cypress/e2e/_superadmin/all-teams.bdd.md +261 -0
- package/tests/cypress/e2e/_superadmin/all-teams.cy.ts +177 -0
- package/tests/cypress/e2e/_superadmin/all-users.bdd.md +406 -0
- package/tests/cypress/e2e/_superadmin/all-users.cy.ts +294 -0
- package/tests/cypress/e2e/_superadmin/dashboard.bdd.md +235 -0
- package/tests/cypress/e2e/_superadmin/dashboard.cy.ts +149 -0
- package/tests/cypress/e2e/_superadmin/subscriptions-overview.bdd.md +290 -0
- package/tests/cypress/e2e/_superadmin/subscriptions-overview.cy.ts +194 -0
- package/tests/cypress/e2e/ai/ai-usage.cy.ts +209 -0
- package/tests/cypress/e2e/ai/chat-api.cy.ts +107 -0
- package/tests/cypress/e2e/ai/guardrails.cy.ts +332 -0
- package/tests/cypress/e2e/api/billing/BillingAPIController.js +319 -0
- package/tests/cypress/e2e/api/billing/check-action.cy.ts +326 -0
- package/tests/cypress/e2e/api/billing/checkout.cy.ts +358 -0
- package/tests/cypress/e2e/api/billing/lifecycle.cy.ts +423 -0
- package/tests/cypress/e2e/api/billing/plans/README.md +345 -0
- package/tests/cypress/e2e/api/billing/plans/business.cy.ts +412 -0
- package/tests/cypress/e2e/api/billing/plans/downgrade.cy.ts +510 -0
- package/tests/cypress/e2e/api/billing/plans/fixtures/billing-plans.json +163 -0
- package/tests/cypress/e2e/api/billing/plans/free.cy.ts +500 -0
- package/tests/cypress/e2e/api/billing/plans/pro.cy.ts +497 -0
- package/tests/cypress/e2e/api/billing/plans/starter.cy.ts +342 -0
- package/tests/cypress/e2e/api/billing/portal.cy.ts +313 -0
- package/tests/cypress/e2e/api/devtools/registries.bdd.md +300 -0
- package/tests/cypress/e2e/api/devtools/registries.cy.ts +368 -0
- package/tests/cypress/e2e/api/entities/blocks-scope.cy.ts +396 -0
- package/tests/cypress/e2e/api/entities/customers-crud.cy.ts +648 -0
- package/tests/cypress/e2e/api/entities/customers-metas.cy.ts +839 -0
- package/tests/cypress/e2e/api/entities/pages-crud.cy.ts +425 -0
- package/tests/cypress/e2e/api/entities/pages-status.cy.ts +335 -0
- package/tests/cypress/e2e/api/entities/post-categories-crud.cy.ts +610 -0
- package/tests/cypress/e2e/api/entities/posts-crud.cy.ts +709 -0
- package/tests/cypress/e2e/api/entities/posts-status.cy.ts +396 -0
- package/tests/cypress/e2e/api/entities/tasks-crud.cy.ts +602 -0
- package/tests/cypress/e2e/api/entities/tasks-metas.cy.ts +878 -0
- package/tests/cypress/e2e/api/entities/users-crud.cy.ts +469 -0
- package/tests/cypress/e2e/api/entities/users-metas.cy.ts +913 -0
- package/tests/cypress/e2e/api/entities/users-security.cy.ts +375 -0
- package/tests/cypress/e2e/api/scheduled-actions/cron-endpoint.bdd.md +375 -0
- package/tests/cypress/e2e/api/scheduled-actions/cron-endpoint.cy.ts +346 -0
- package/tests/cypress/e2e/api/scheduled-actions/devtools-endpoint.bdd.md +451 -0
- package/tests/cypress/e2e/api/scheduled-actions/devtools-endpoint.cy.ts +447 -0
- package/tests/cypress/e2e/api/scheduled-actions/scheduling.bdd.md +649 -0
- package/tests/cypress/e2e/api/scheduled-actions/scheduling.cy.ts +333 -0
- package/tests/cypress/e2e/api/settings/api-keys.crud.cy.ts +923 -0
- package/tests/cypress/e2e/uat/auth/app-roles/developer-login.bdd.md +231 -0
- package/tests/cypress/e2e/uat/auth/app-roles/developer-login.cy.ts +144 -0
- package/tests/cypress/e2e/uat/auth/app-roles/superadmin-login.bdd.md +118 -0
- package/tests/cypress/e2e/uat/auth/app-roles/superadmin-login.cy.ts +84 -0
- package/tests/cypress/e2e/uat/auth/custom-roles/editor-login.bdd.md +288 -0
- package/tests/cypress/e2e/uat/auth/custom-roles/editor-login.cy.ts +188 -0
- package/tests/cypress/e2e/uat/auth/login-logout.bdd.md +160 -0
- package/tests/cypress/e2e/uat/auth/login-logout.cy.ts +116 -0
- package/tests/cypress/e2e/uat/auth/password-reset.bdd.md +289 -0
- package/tests/cypress/e2e/uat/auth/password-reset.cy.ts +200 -0
- package/tests/cypress/e2e/uat/auth/team-roles/admin-login.bdd.md +225 -0
- package/tests/cypress/e2e/uat/auth/team-roles/admin-login.cy.ts +148 -0
- package/tests/cypress/e2e/uat/auth/team-roles/member-login.bdd.md +251 -0
- package/tests/cypress/e2e/uat/auth/team-roles/member-login.cy.ts +163 -0
- package/tests/cypress/e2e/uat/auth/team-roles/owner-login.bdd.md +231 -0
- package/tests/cypress/e2e/uat/auth/team-roles/owner-login.cy.ts +141 -0
- package/tests/cypress/e2e/uat/billing/extended.bdd.md +273 -0
- package/tests/cypress/e2e/uat/billing/extended.cy.ts +209 -0
- package/tests/cypress/e2e/uat/billing/feature-gates.bdd.md +407 -0
- package/tests/cypress/e2e/uat/billing/feature-gates.cy.ts +307 -0
- package/tests/cypress/e2e/uat/billing/page.bdd.md +329 -0
- package/tests/cypress/e2e/uat/billing/page.cy.ts +250 -0
- package/tests/cypress/e2e/uat/billing/status.bdd.md +190 -0
- package/tests/cypress/e2e/uat/billing/status.cy.ts +145 -0
- package/tests/cypress/e2e/uat/billing/team-switch.bdd.md +156 -0
- package/tests/cypress/e2e/uat/billing/team-switch.cy.ts +122 -0
- package/tests/cypress/e2e/uat/billing/usage.bdd.md +218 -0
- package/tests/cypress/e2e/uat/billing/usage.cy.ts +176 -0
- package/tests/cypress/e2e/uat/blocks/hero.bdd.md +124 -0
- package/tests/cypress/e2e/uat/blocks/hero.cy.ts +56 -0
- package/tests/cypress/e2e/uat/devtools/api-tester.cy.ts +390 -0
- package/tests/cypress/e2e/uat/entities/customers/member.bdd.md +275 -0
- package/tests/cypress/e2e/uat/entities/customers/member.cy.ts +122 -0
- package/tests/cypress/e2e/uat/entities/customers/owner.bdd.md +243 -0
- package/tests/cypress/e2e/uat/entities/customers/owner.cy.ts +165 -0
- package/tests/cypress/e2e/uat/entities/pages/block-crud.bdd.md +476 -0
- package/tests/cypress/e2e/uat/entities/pages/block-crud.cy.ts +486 -0
- package/tests/cypress/e2e/uat/entities/pages/block-editor.bdd.md +460 -0
- package/tests/cypress/e2e/uat/entities/pages/block-editor.cy.ts +301 -0
- package/tests/cypress/e2e/uat/entities/pages/list.bdd.md +432 -0
- package/tests/cypress/e2e/uat/entities/pages/list.cy.ts +273 -0
- package/tests/cypress/e2e/uat/entities/pages/public-rendering.bdd.md +696 -0
- package/tests/cypress/e2e/uat/entities/pages/public-rendering.cy.ts +340 -0
- package/tests/cypress/e2e/uat/entities/posts/categories-api-aware.bdd.md +161 -0
- package/tests/cypress/e2e/uat/entities/posts/categories-api-aware.cy.ts +104 -0
- package/tests/cypress/e2e/uat/entities/posts/categories.bdd.md +375 -0
- package/tests/cypress/e2e/uat/entities/posts/categories.cy.ts +241 -0
- package/tests/cypress/e2e/uat/entities/posts/editor.bdd.md +429 -0
- package/tests/cypress/e2e/uat/entities/posts/editor.cy.ts +257 -0
- package/tests/cypress/e2e/uat/entities/posts/list.bdd.md +340 -0
- package/tests/cypress/e2e/uat/entities/posts/list.cy.ts +177 -0
- package/tests/cypress/e2e/uat/entities/posts/public.bdd.md +614 -0
- package/tests/cypress/e2e/uat/entities/posts/public.cy.ts +249 -0
- package/tests/cypress/e2e/uat/entities/tasks/member.bdd.md +222 -0
- package/tests/cypress/e2e/uat/entities/tasks/member.cy.ts +165 -0
- package/tests/cypress/e2e/uat/entities/tasks/owner.bdd.md +419 -0
- package/tests/cypress/e2e/uat/entities/tasks/owner.cy.ts +191 -0
- package/tests/cypress/e2e/uat/roles/editor-role.bdd.md +552 -0
- package/tests/cypress/e2e/uat/roles/editor-role.cy.ts +210 -0
- package/tests/cypress/e2e/uat/roles/member-restrictions.bdd.md +450 -0
- package/tests/cypress/e2e/uat/roles/member-restrictions.cy.ts +189 -0
- package/tests/cypress/e2e/uat/roles/owner-full-crud.bdd.md +530 -0
- package/tests/cypress/e2e/uat/roles/owner-full-crud.cy.ts +247 -0
- package/tests/cypress/e2e/uat/scheduled-actions/devtools-ui.bdd.md +736 -0
- package/tests/cypress/e2e/uat/scheduled-actions/devtools-ui.cy.ts +740 -0
- package/tests/cypress/e2e/uat/teams/roles-matrix.bdd.md +553 -0
- package/tests/cypress/e2e/uat/teams/roles-matrix.cy.ts +185 -0
- package/tests/cypress/e2e/uat/teams/switcher.bdd.md +1151 -0
- package/tests/cypress/e2e/uat/teams/switcher.cy.ts +497 -0
- package/tests/cypress/e2e/uat/teams/team-switcher.md +198 -0
- package/tests/cypress/fixtures/blocks.json +218 -0
- package/tests/cypress/fixtures/entities.json +78 -0
- package/tests/cypress/fixtures/page-builder.json +21 -0
- package/tests/cypress/src/components/CategoriesPOM.ts +382 -0
- package/tests/cypress/src/components/CustomersPOM.ts +439 -0
- package/tests/cypress/src/components/DevKeyringPOM.ts +160 -0
- package/tests/cypress/src/components/EntityForm.ts +375 -0
- package/tests/cypress/src/components/EntityList.ts +389 -0
- package/tests/cypress/src/components/PageBuilderPOM.ts +710 -0
- package/tests/cypress/src/components/PostEditorPOM.ts +370 -0
- package/tests/cypress/src/components/PostsListPOM.ts +223 -0
- package/tests/cypress/src/components/PublicPagePOM.ts +447 -0
- package/tests/cypress/src/components/PublicPostPOM.ts +146 -0
- package/tests/cypress/src/components/TasksPOM.ts +272 -0
- package/tests/cypress/src/components/TeamSwitcherPOM.ts +450 -0
- package/tests/cypress/src/components/index.ts +21 -0
- package/tests/cypress/src/controllers/ApiKeysAPIController.js +178 -0
- package/tests/cypress/src/controllers/BaseAPIController.js +317 -0
- package/tests/cypress/src/controllers/CustomerAPIController.js +251 -0
- package/tests/cypress/src/controllers/PagesAPIController.js +226 -0
- package/tests/cypress/src/controllers/PostsAPIController.js +250 -0
- package/tests/cypress/src/controllers/TaskAPIController.js +240 -0
- package/tests/cypress/src/controllers/UsersAPIController.js +242 -0
- package/tests/cypress/src/controllers/index.js +25 -0
- package/tests/cypress/src/core/AuthPOM.ts +450 -0
- package/tests/cypress/src/core/BasePOM.ts +86 -0
- package/tests/cypress/src/core/BlockEditorBasePOM.ts +576 -0
- package/tests/cypress/src/core/DashboardEntityPOM.ts +692 -0
- package/tests/cypress/src/core/index.ts +14 -0
- package/tests/cypress/src/entities/CustomersPOM.ts +172 -0
- package/tests/cypress/src/entities/PagesPOM.ts +137 -0
- package/tests/cypress/src/entities/PostsPOM.ts +137 -0
- package/tests/cypress/src/entities/TasksPOM.ts +176 -0
- package/tests/cypress/src/entities/index.ts +14 -0
- package/tests/cypress/src/features/BillingPOM.ts +385 -0
- package/tests/cypress/src/features/DashboardPOM.ts +245 -0
- package/tests/cypress/src/features/DevtoolsPOM.ts +739 -0
- package/tests/cypress/src/features/PageBuilderPOM.ts +263 -0
- package/tests/cypress/src/features/PostEditorPOM.ts +313 -0
- package/tests/cypress/src/features/ScheduledActionsPOM.ts +463 -0
- package/tests/cypress/src/features/SettingsPOM.ts +362 -0
- package/tests/cypress/src/features/SuperadminPOM.ts +331 -0
- package/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +285 -0
- package/tests/cypress/src/features/index.ts +28 -0
- package/tests/cypress/src/helpers/ApiInterceptor.ts +177 -0
- package/tests/cypress/src/index.ts +101 -0
- package/tests/cypress/src/pages/dashboard/Dashboard.js +677 -0
- package/tests/cypress/src/pages/dashboard/DashboardPage.js +43 -0
- package/tests/cypress/src/pages/dashboard/DashboardStats.js +546 -0
- package/tests/cypress/src/pages/dashboard/index.js +6 -0
- package/tests/cypress/src/pages/index.js +5 -0
- package/tests/cypress/src/pages/public/FeaturesPage.js +28 -0
- package/tests/cypress/src/pages/public/LandingPage.js +69 -0
- package/tests/cypress/src/pages/public/PricingPage.js +33 -0
- package/tests/cypress/src/pages/public/index.js +6 -0
- package/tests/cypress/src/selectors.ts +46 -0
- package/tests/cypress/src/session-helpers.ts +500 -0
- package/tests/cypress/support/doc-commands.ts +260 -0
- package/tests/cypress.config.ts +150 -0
- package/tests/jest/components/post-header.test.tsx +377 -0
- package/tests/jest/config/role-config.test.ts +529 -0
- package/tests/jest/jest.config.ts +81 -0
- package/tests/jest/langchain/COVERAGE.md +372 -0
- package/tests/jest/langchain/guardrails.test.ts +465 -0
- package/tests/jest/langchain/streaming.test.ts +367 -0
- package/tests/jest/langchain/token-tracker.test.ts +455 -0
- package/tests/jest/langchain/tracer-callbacks.test.ts +881 -0
- package/tests/jest/langchain/tracer.test.ts +823 -0
- package/tests/jest/user-roles/role-helpers.test.ts +432 -0
- package/tests/jest/validation/categories.test.ts +429 -0
- package/tests/jest/validation/posts.test.ts +546 -0
- package/tests/tsconfig.json +15 -0
|
@@ -0,0 +1,736 @@
|
|
|
1
|
+
---
|
|
2
|
+
feature: Scheduled Actions DevTools UI
|
|
3
|
+
priority: critical
|
|
4
|
+
tags: [uat, devtools, feat-scheduled-actions, regression]
|
|
5
|
+
grepTags: ["@uat", "@devtools", "@scheduled-actions"]
|
|
6
|
+
coverage: 24 tests
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Scheduled Actions DevTools UI - UAT Tests
|
|
10
|
+
|
|
11
|
+
> UAT tests for the `/devtools/scheduled-actions` page. These tests verify the developer experience for monitoring scheduled actions including page load, status display, action details, error handling, filters, and pagination.
|
|
12
|
+
|
|
13
|
+
## Access Requirements
|
|
14
|
+
|
|
15
|
+
| Requirement | Value |
|
|
16
|
+
|-------------|-------|
|
|
17
|
+
| Login Role | Developer or Superadmin |
|
|
18
|
+
| Page URL | `/devtools/scheduled-actions` |
|
|
19
|
+
| Test User | `developer@nextspark.dev` |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## @test SCHED-UAT-001: DevTools scheduled actions page is accessible
|
|
24
|
+
|
|
25
|
+
### Metadata
|
|
26
|
+
- **Priority:** Critical
|
|
27
|
+
- **Type:** Smoke
|
|
28
|
+
- **Tags:** uat, scheduled-actions, page-load
|
|
29
|
+
- **AC:** AC-22
|
|
30
|
+
|
|
31
|
+
```gherkin:en
|
|
32
|
+
Scenario: Developer can access DevTools scheduled actions page
|
|
33
|
+
|
|
34
|
+
Given I am logged in as a developer
|
|
35
|
+
When I visit /devtools/scheduled-actions
|
|
36
|
+
Then I should see the scheduled actions page
|
|
37
|
+
And the page should be fully loaded
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```gherkin:es
|
|
41
|
+
Scenario: Developer puede acceder a la pagina DevTools de acciones programadas
|
|
42
|
+
|
|
43
|
+
Given estoy logueado como developer
|
|
44
|
+
When visito /devtools/scheduled-actions
|
|
45
|
+
Then deberia ver la pagina de acciones programadas
|
|
46
|
+
And la pagina deberia estar completamente cargada
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## @test SCHED-UAT-002: Page displays title and description
|
|
52
|
+
|
|
53
|
+
### Metadata
|
|
54
|
+
- **Priority:** Normal
|
|
55
|
+
- **Type:** Smoke
|
|
56
|
+
- **Tags:** uat, scheduled-actions, page-load
|
|
57
|
+
- **AC:** AC-22
|
|
58
|
+
|
|
59
|
+
```gherkin:en
|
|
60
|
+
Scenario: Page shows title and helpful description
|
|
61
|
+
|
|
62
|
+
Given I am on the scheduled actions page
|
|
63
|
+
Then I should see "Scheduled Actions" title
|
|
64
|
+
And I should see a description of the feature
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
```gherkin:es
|
|
68
|
+
Scenario: Pagina muestra titulo y descripcion util
|
|
69
|
+
|
|
70
|
+
Given estoy en la pagina de acciones programadas
|
|
71
|
+
Then deberia ver el titulo "Scheduled Actions"
|
|
72
|
+
And deberia ver una descripcion de la funcionalidad
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## @test SCHED-UAT-010: Table shows status badges for all states
|
|
78
|
+
|
|
79
|
+
### Metadata
|
|
80
|
+
- **Priority:** Critical
|
|
81
|
+
- **Type:** Functional
|
|
82
|
+
- **Tags:** uat, scheduled-actions, status-display
|
|
83
|
+
- **AC:** AC-23
|
|
84
|
+
|
|
85
|
+
```gherkin:en
|
|
86
|
+
Scenario: Status badges are visible for different action states
|
|
87
|
+
|
|
88
|
+
Given I am on the scheduled actions page
|
|
89
|
+
When the table loads
|
|
90
|
+
Then I should see status badges with different states
|
|
91
|
+
And badges should have distinct visual styles (colors)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```gherkin:es
|
|
95
|
+
Scenario: Badges de estado son visibles para diferentes estados de accion
|
|
96
|
+
|
|
97
|
+
Given estoy en la pagina de acciones programadas
|
|
98
|
+
When la tabla carga
|
|
99
|
+
Then deberia ver badges de estado con diferentes estados
|
|
100
|
+
And los badges deberian tener estilos visuales distintos (colores)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## @test SCHED-UAT-011: Pending status badge is visible
|
|
106
|
+
|
|
107
|
+
### Metadata
|
|
108
|
+
- **Priority:** Normal
|
|
109
|
+
- **Type:** Functional
|
|
110
|
+
- **Tags:** uat, scheduled-actions, status-pending
|
|
111
|
+
- **AC:** AC-23
|
|
112
|
+
|
|
113
|
+
```gherkin:en
|
|
114
|
+
Scenario: Pending actions show pending badge
|
|
115
|
+
|
|
116
|
+
Given there are pending actions
|
|
117
|
+
Then I should see at least one "Pending" status badge
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
```gherkin:es
|
|
121
|
+
Scenario: Acciones pendientes muestran badge pending
|
|
122
|
+
|
|
123
|
+
Given hay acciones pendientes
|
|
124
|
+
Then deberia ver al menos un badge de estado "Pending"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## @test SCHED-UAT-012: Completed status badge is visible when actions complete
|
|
130
|
+
|
|
131
|
+
### Metadata
|
|
132
|
+
- **Priority:** Normal
|
|
133
|
+
- **Type:** Functional
|
|
134
|
+
- **Tags:** uat, scheduled-actions, status-completed
|
|
135
|
+
- **AC:** AC-23
|
|
136
|
+
|
|
137
|
+
```gherkin:en
|
|
138
|
+
Scenario: Completed actions show completed badge
|
|
139
|
+
|
|
140
|
+
Given there are completed actions
|
|
141
|
+
Then I should see at least one "Completed" status badge
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
```gherkin:es
|
|
145
|
+
Scenario: Acciones completadas muestran badge completed
|
|
146
|
+
|
|
147
|
+
Given hay acciones completadas
|
|
148
|
+
Then deberia ver al menos un badge de estado "Completed"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## @test SCHED-UAT-013: Failed status badge is visible for failed actions
|
|
154
|
+
|
|
155
|
+
### Metadata
|
|
156
|
+
- **Priority:** Normal
|
|
157
|
+
- **Type:** Functional
|
|
158
|
+
- **Tags:** uat, scheduled-actions, status-failed
|
|
159
|
+
- **AC:** AC-23
|
|
160
|
+
|
|
161
|
+
```gherkin:en
|
|
162
|
+
Scenario: Failed actions show failed badge with destructive styling
|
|
163
|
+
|
|
164
|
+
Given there are failed actions
|
|
165
|
+
Then I should see at least one "Failed" status badge
|
|
166
|
+
And the badge should have destructive (red) styling
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
```gherkin:es
|
|
170
|
+
Scenario: Acciones fallidas muestran badge failed con estilo destructivo
|
|
171
|
+
|
|
172
|
+
Given hay acciones fallidas
|
|
173
|
+
Then deberia ver al menos un badge de estado "Failed"
|
|
174
|
+
And el badge deberia tener estilo destructivo (rojo)
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## @test SCHED-UAT-020: Table shows all required columns
|
|
180
|
+
|
|
181
|
+
### Metadata
|
|
182
|
+
- **Priority:** Critical
|
|
183
|
+
- **Type:** Functional
|
|
184
|
+
- **Tags:** uat, scheduled-actions, table-columns
|
|
185
|
+
- **AC:** AC-24
|
|
186
|
+
|
|
187
|
+
```gherkin:en
|
|
188
|
+
Scenario: Table displays all required column headers
|
|
189
|
+
|
|
190
|
+
Given I am on the scheduled actions page
|
|
191
|
+
Then I should see column headers for:
|
|
192
|
+
- Type
|
|
193
|
+
- Status
|
|
194
|
+
- Scheduled At
|
|
195
|
+
- Team
|
|
196
|
+
- Payload
|
|
197
|
+
- Error
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
```gherkin:es
|
|
201
|
+
Scenario: Tabla muestra todos los encabezados de columna requeridos
|
|
202
|
+
|
|
203
|
+
Given estoy en la pagina de acciones programadas
|
|
204
|
+
Then deberia ver encabezados de columna para:
|
|
205
|
+
- Type
|
|
206
|
+
- Status
|
|
207
|
+
- Scheduled At
|
|
208
|
+
- Team
|
|
209
|
+
- Payload
|
|
210
|
+
- Error
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## @test SCHED-UAT-021: Action type is displayed in table
|
|
216
|
+
|
|
217
|
+
### Metadata
|
|
218
|
+
- **Priority:** Normal
|
|
219
|
+
- **Type:** Functional
|
|
220
|
+
- **Tags:** uat, scheduled-actions, action-type
|
|
221
|
+
- **AC:** AC-24
|
|
222
|
+
|
|
223
|
+
```gherkin:en
|
|
224
|
+
Scenario: Each action shows its type
|
|
225
|
+
|
|
226
|
+
Given there are actions in the table
|
|
227
|
+
Then each row should display the action type
|
|
228
|
+
And the type should be in monospace font for readability
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
```gherkin:es
|
|
232
|
+
Scenario: Cada accion muestra su tipo
|
|
233
|
+
|
|
234
|
+
Given hay acciones en la tabla
|
|
235
|
+
Then cada fila deberia mostrar el tipo de accion
|
|
236
|
+
And el tipo deberia estar en fuente monospace para legibilidad
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## @test SCHED-UAT-022: Scheduled time is formatted and displayed
|
|
242
|
+
|
|
243
|
+
### Metadata
|
|
244
|
+
- **Priority:** Normal
|
|
245
|
+
- **Type:** Functional
|
|
246
|
+
- **Tags:** uat, scheduled-actions, scheduled-at
|
|
247
|
+
- **AC:** AC-24
|
|
248
|
+
|
|
249
|
+
```gherkin:en
|
|
250
|
+
Scenario: Each action shows when it's scheduled to run
|
|
251
|
+
|
|
252
|
+
Given there are actions in the table
|
|
253
|
+
Then each row should display the scheduled time
|
|
254
|
+
And the time should be formatted in a readable way
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
```gherkin:es
|
|
258
|
+
Scenario: Cada accion muestra cuando esta programada para ejecutarse
|
|
259
|
+
|
|
260
|
+
Given hay acciones en la tabla
|
|
261
|
+
Then cada fila deberia mostrar el tiempo programado
|
|
262
|
+
And el tiempo deberia estar formateado de manera legible
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## @test SCHED-UAT-023: Team ID is displayed or shows "Global"
|
|
268
|
+
|
|
269
|
+
### Metadata
|
|
270
|
+
- **Priority:** Normal
|
|
271
|
+
- **Type:** Functional
|
|
272
|
+
- **Tags:** uat, scheduled-actions, team-context
|
|
273
|
+
- **AC:** AC-24
|
|
274
|
+
|
|
275
|
+
```gherkin:en
|
|
276
|
+
Scenario: Each action shows team context
|
|
277
|
+
|
|
278
|
+
Given there are actions in the table
|
|
279
|
+
Then each row should display the team ID
|
|
280
|
+
Or show "Global" for system-wide actions (no team context)
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
```gherkin:es
|
|
284
|
+
Scenario: Cada accion muestra el contexto de equipo
|
|
285
|
+
|
|
286
|
+
Given hay acciones en la tabla
|
|
287
|
+
Then cada fila deberia mostrar el ID del equipo
|
|
288
|
+
O mostrar "Global" para acciones del sistema (sin contexto de equipo)
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## @test SCHED-UAT-024: Payload preview is visible
|
|
294
|
+
|
|
295
|
+
### Metadata
|
|
296
|
+
- **Priority:** Normal
|
|
297
|
+
- **Type:** Functional
|
|
298
|
+
- **Tags:** uat, scheduled-actions, payload
|
|
299
|
+
- **AC:** AC-24
|
|
300
|
+
|
|
301
|
+
```gherkin:en
|
|
302
|
+
Scenario: Each action shows a payload preview
|
|
303
|
+
|
|
304
|
+
Given there are actions in the table
|
|
305
|
+
Then each row should show a preview of the payload
|
|
306
|
+
And clicking the row should expand to show full payload
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
```gherkin:es
|
|
310
|
+
Scenario: Cada accion muestra una vista previa del payload
|
|
311
|
+
|
|
312
|
+
Given hay acciones en la tabla
|
|
313
|
+
Then cada fila deberia mostrar una vista previa del payload
|
|
314
|
+
And hacer clic en la fila deberia expandir para mostrar payload completo
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## @test SCHED-UAT-030: Error column is visible in table
|
|
320
|
+
|
|
321
|
+
### Metadata
|
|
322
|
+
- **Priority:** Critical
|
|
323
|
+
- **Type:** Functional
|
|
324
|
+
- **Tags:** uat, scheduled-actions, error-display
|
|
325
|
+
- **AC:** AC-25
|
|
326
|
+
|
|
327
|
+
```gherkin:en
|
|
328
|
+
Scenario: Table has an error column
|
|
329
|
+
|
|
330
|
+
Given I am on the scheduled actions page
|
|
331
|
+
Then I should see an "Error" column header
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
```gherkin:es
|
|
335
|
+
Scenario: Tabla tiene una columna de error
|
|
336
|
+
|
|
337
|
+
Given estoy en la pagina de acciones programadas
|
|
338
|
+
Then deberia ver un encabezado de columna "Error"
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## @test SCHED-UAT-031: Failed actions display error message
|
|
344
|
+
|
|
345
|
+
### Metadata
|
|
346
|
+
- **Priority:** Critical
|
|
347
|
+
- **Type:** Functional
|
|
348
|
+
- **Tags:** uat, scheduled-actions, error-message
|
|
349
|
+
- **AC:** AC-25
|
|
350
|
+
|
|
351
|
+
```gherkin:en
|
|
352
|
+
Scenario: Failed actions show error details
|
|
353
|
+
|
|
354
|
+
Given there are failed actions in the table
|
|
355
|
+
Then each failed action should display its error message
|
|
356
|
+
And the error should be visible in the Error column
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
```gherkin:es
|
|
360
|
+
Scenario: Acciones fallidas muestran detalles del error
|
|
361
|
+
|
|
362
|
+
Given hay acciones fallidas en la tabla
|
|
363
|
+
Then cada accion fallida deberia mostrar su mensaje de error
|
|
364
|
+
And el error deberia ser visible en la columna Error
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## @test SCHED-UAT-032: Error message is expandable for full details
|
|
370
|
+
|
|
371
|
+
### Metadata
|
|
372
|
+
- **Priority:** Normal
|
|
373
|
+
- **Type:** Functional
|
|
374
|
+
- **Tags:** uat, scheduled-actions, error-expansion
|
|
375
|
+
- **AC:** AC-25
|
|
376
|
+
|
|
377
|
+
```gherkin:en
|
|
378
|
+
Scenario: User can expand row to see full error message
|
|
379
|
+
|
|
380
|
+
Given there is a failed action with an error message
|
|
381
|
+
When I click on the row
|
|
382
|
+
Then the row should expand
|
|
383
|
+
And I should see the full error message
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
```gherkin:es
|
|
387
|
+
Scenario: Usuario puede expandir fila para ver mensaje de error completo
|
|
388
|
+
|
|
389
|
+
Given hay una accion fallida con un mensaje de error
|
|
390
|
+
When hago clic en la fila
|
|
391
|
+
Then la fila deberia expandirse
|
|
392
|
+
And deberia ver el mensaje de error completo
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## @test SCHED-UAT-040: Status filter is visible and functional
|
|
398
|
+
|
|
399
|
+
### Metadata
|
|
400
|
+
- **Priority:** Critical
|
|
401
|
+
- **Type:** Functional
|
|
402
|
+
- **Tags:** uat, scheduled-actions, filters
|
|
403
|
+
- **AC:** AC-26
|
|
404
|
+
|
|
405
|
+
```gherkin:en
|
|
406
|
+
Scenario: User can filter by action status
|
|
407
|
+
|
|
408
|
+
Given I am on the scheduled actions page
|
|
409
|
+
Then I should see a status filter dropdown
|
|
410
|
+
And the dropdown should have options: All, Pending, Running, Completed, Failed
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
```gherkin:es
|
|
414
|
+
Scenario: Usuario puede filtrar por estado de accion
|
|
415
|
+
|
|
416
|
+
Given estoy en la pagina de acciones programadas
|
|
417
|
+
Then deberia ver un dropdown de filtro de estado
|
|
418
|
+
And el dropdown deberia tener opciones: All, Pending, Running, Completed, Failed
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## @test SCHED-UAT-041: Action type filter is visible and functional
|
|
424
|
+
|
|
425
|
+
### Metadata
|
|
426
|
+
- **Priority:** Critical
|
|
427
|
+
- **Type:** Functional
|
|
428
|
+
- **Tags:** uat, scheduled-actions, filters
|
|
429
|
+
- **AC:** AC-26
|
|
430
|
+
|
|
431
|
+
```gherkin:en
|
|
432
|
+
Scenario: User can filter by action type
|
|
433
|
+
|
|
434
|
+
Given I am on the scheduled actions page
|
|
435
|
+
Then I should see an action type filter dropdown
|
|
436
|
+
And the dropdown should have "All" plus registered action types
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
```gherkin:es
|
|
440
|
+
Scenario: Usuario puede filtrar por tipo de accion
|
|
441
|
+
|
|
442
|
+
Given estoy en la pagina de acciones programadas
|
|
443
|
+
Then deberia ver un dropdown de filtro de tipo de accion
|
|
444
|
+
And el dropdown deberia tener "All" mas los tipos de accion registrados
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
|
|
449
|
+
## @test SCHED-UAT-042: Filtering by status updates the table
|
|
450
|
+
|
|
451
|
+
### Metadata
|
|
452
|
+
- **Priority:** Critical
|
|
453
|
+
- **Type:** Functional
|
|
454
|
+
- **Tags:** uat, scheduled-actions, filter-status
|
|
455
|
+
- **AC:** AC-26
|
|
456
|
+
|
|
457
|
+
```gherkin:en
|
|
458
|
+
Scenario: Filtering by status shows only matching actions
|
|
459
|
+
|
|
460
|
+
Given I am on the scheduled actions page
|
|
461
|
+
And there are actions with different statuses
|
|
462
|
+
When I select "Pending" from the status filter
|
|
463
|
+
Then the table should only show pending actions
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
```gherkin:es
|
|
467
|
+
Scenario: Filtrar por estado muestra solo acciones coincidentes
|
|
468
|
+
|
|
469
|
+
Given estoy en la pagina de acciones programadas
|
|
470
|
+
And hay acciones con diferentes estados
|
|
471
|
+
When selecciono "Pending" del filtro de estado
|
|
472
|
+
Then la tabla deberia mostrar solo acciones pending
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
---
|
|
476
|
+
|
|
477
|
+
## @test SCHED-UAT-043: Filtering by action type updates the table
|
|
478
|
+
|
|
479
|
+
### Metadata
|
|
480
|
+
- **Priority:** Critical
|
|
481
|
+
- **Type:** Functional
|
|
482
|
+
- **Tags:** uat, scheduled-actions, filter-type
|
|
483
|
+
- **AC:** AC-26
|
|
484
|
+
|
|
485
|
+
```gherkin:en
|
|
486
|
+
Scenario: Filtering by action type shows only matching actions
|
|
487
|
+
|
|
488
|
+
Given I am on the scheduled actions page
|
|
489
|
+
And there are actions of different types
|
|
490
|
+
When I select a specific action type from the filter
|
|
491
|
+
Then the table should only show actions of that type
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
```gherkin:es
|
|
495
|
+
Scenario: Filtrar por tipo de accion muestra solo acciones coincidentes
|
|
496
|
+
|
|
497
|
+
Given estoy en la pagina de acciones programadas
|
|
498
|
+
And hay acciones de diferentes tipos
|
|
499
|
+
When selecciono un tipo de accion especifico del filtro
|
|
500
|
+
Then la tabla deberia mostrar solo acciones de ese tipo
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## @test SCHED-UAT-044: Reset button clears all filters
|
|
506
|
+
|
|
507
|
+
### Metadata
|
|
508
|
+
- **Priority:** Normal
|
|
509
|
+
- **Type:** Functional
|
|
510
|
+
- **Tags:** uat, scheduled-actions, filter-reset
|
|
511
|
+
- **AC:** AC-26
|
|
512
|
+
|
|
513
|
+
```gherkin:en
|
|
514
|
+
Scenario: User can reset filters to show all actions
|
|
515
|
+
|
|
516
|
+
Given I have applied filters (status or action type)
|
|
517
|
+
When I click the reset button
|
|
518
|
+
Then all filters should be cleared
|
|
519
|
+
And the table should show all actions again
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
```gherkin:es
|
|
523
|
+
Scenario: Usuario puede resetear filtros para mostrar todas las acciones
|
|
524
|
+
|
|
525
|
+
Given he aplicado filtros (estado o tipo de accion)
|
|
526
|
+
When hago clic en el boton reset
|
|
527
|
+
Then todos los filtros deberian limpiarse
|
|
528
|
+
And la tabla deberia mostrar todas las acciones de nuevo
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
---
|
|
532
|
+
|
|
533
|
+
## @test SCHED-UAT-045: Multiple filters can be combined
|
|
534
|
+
|
|
535
|
+
### Metadata
|
|
536
|
+
- **Priority:** Normal
|
|
537
|
+
- **Type:** Functional
|
|
538
|
+
- **Tags:** uat, scheduled-actions, filter-combined
|
|
539
|
+
- **AC:** AC-26
|
|
540
|
+
|
|
541
|
+
```gherkin:en
|
|
542
|
+
Scenario: User can combine status and action type filters
|
|
543
|
+
|
|
544
|
+
Given I am on the scheduled actions page
|
|
545
|
+
When I select a status filter
|
|
546
|
+
And I select an action type filter (if available)
|
|
547
|
+
Then the table should show actions matching both filters
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
```gherkin:es
|
|
551
|
+
Scenario: Usuario puede combinar filtros de estado y tipo de accion
|
|
552
|
+
|
|
553
|
+
Given estoy en la pagina de acciones programadas
|
|
554
|
+
When selecciono un filtro de estado
|
|
555
|
+
And selecciono un filtro de tipo de accion (si esta disponible)
|
|
556
|
+
Then la tabla deberia mostrar acciones que coincidan con ambos filtros
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
---
|
|
560
|
+
|
|
561
|
+
## @test SCHED-UAT-050: Empty state is shown when no actions exist
|
|
562
|
+
|
|
563
|
+
### Metadata
|
|
564
|
+
- **Priority:** Normal
|
|
565
|
+
- **Type:** Functional
|
|
566
|
+
- **Tags:** uat, scheduled-actions, empty-state
|
|
567
|
+
|
|
568
|
+
```gherkin:en
|
|
569
|
+
Scenario: Empty state message when no actions
|
|
570
|
+
|
|
571
|
+
Given there are no scheduled actions in the database
|
|
572
|
+
When I visit the page
|
|
573
|
+
Then I should see an empty state message
|
|
574
|
+
And the message should explain there are no scheduled actions
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
```gherkin:es
|
|
578
|
+
Scenario: Mensaje de estado vacio cuando no hay acciones
|
|
579
|
+
|
|
580
|
+
Given no hay acciones programadas en la base de datos
|
|
581
|
+
When visito la pagina
|
|
582
|
+
Then deberia ver un mensaje de estado vacio
|
|
583
|
+
And el mensaje deberia explicar que no hay acciones programadas
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## @test SCHED-UAT-060: Pagination controls are visible when needed
|
|
589
|
+
|
|
590
|
+
### Metadata
|
|
591
|
+
- **Priority:** Normal
|
|
592
|
+
- **Type:** Functional
|
|
593
|
+
- **Tags:** uat, scheduled-actions, pagination
|
|
594
|
+
|
|
595
|
+
```gherkin:en
|
|
596
|
+
Scenario: Pagination appears when there are many actions
|
|
597
|
+
|
|
598
|
+
Given there are more than 20 actions (default page size)
|
|
599
|
+
When I visit the page
|
|
600
|
+
Then I should see pagination controls
|
|
601
|
+
And I should see Previous and Next buttons
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
```gherkin:es
|
|
605
|
+
Scenario: Paginacion aparece cuando hay muchas acciones
|
|
606
|
+
|
|
607
|
+
Given hay mas de 20 acciones (tamano de pagina por defecto)
|
|
608
|
+
When visito la pagina
|
|
609
|
+
Then deberia ver controles de paginacion
|
|
610
|
+
And deberia ver botones Previous y Next
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
---
|
|
614
|
+
|
|
615
|
+
## @test SCHED-UAT-061: Next button works when there are more pages
|
|
616
|
+
|
|
617
|
+
### Metadata
|
|
618
|
+
- **Priority:** Normal
|
|
619
|
+
- **Type:** Functional
|
|
620
|
+
- **Tags:** uat, scheduled-actions, pagination-next
|
|
621
|
+
|
|
622
|
+
```gherkin:en
|
|
623
|
+
Scenario: User can navigate to next page
|
|
624
|
+
|
|
625
|
+
Given there are multiple pages of actions
|
|
626
|
+
When I click the Next button
|
|
627
|
+
Then the table should load the next page
|
|
628
|
+
And different actions should be displayed
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
```gherkin:es
|
|
632
|
+
Scenario: Usuario puede navegar a la siguiente pagina
|
|
633
|
+
|
|
634
|
+
Given hay multiples paginas de acciones
|
|
635
|
+
When hago clic en el boton Next
|
|
636
|
+
Then la tabla deberia cargar la siguiente pagina
|
|
637
|
+
And diferentes acciones deberian mostrarse
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
---
|
|
641
|
+
|
|
642
|
+
## @test SCHED-UAT-062: Previous button works when on later pages
|
|
643
|
+
|
|
644
|
+
### Metadata
|
|
645
|
+
- **Priority:** Normal
|
|
646
|
+
- **Type:** Functional
|
|
647
|
+
- **Tags:** uat, scheduled-actions, pagination-prev
|
|
648
|
+
|
|
649
|
+
```gherkin:en
|
|
650
|
+
Scenario: User can navigate to previous page
|
|
651
|
+
|
|
652
|
+
Given I am on page 2 or later
|
|
653
|
+
When I click the Previous button
|
|
654
|
+
Then the table should load the previous page
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
```gherkin:es
|
|
658
|
+
Scenario: Usuario puede navegar a la pagina anterior
|
|
659
|
+
|
|
660
|
+
Given estoy en pagina 2 o posterior
|
|
661
|
+
When hago clic en el boton Previous
|
|
662
|
+
Then la tabla deberia cargar la pagina anterior
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
---
|
|
666
|
+
|
|
667
|
+
## Test Summary
|
|
668
|
+
|
|
669
|
+
| Test ID | Section | Description | Priority | AC |
|
|
670
|
+
|---------|---------|-------------|----------|-----|
|
|
671
|
+
| SCHED-UAT-001 | Page Load | Page accessible | Critical | AC-22 |
|
|
672
|
+
| SCHED-UAT-002 | Page Load | Title and description | Normal | AC-22 |
|
|
673
|
+
| SCHED-UAT-010 | Status Display | Status badges visible | Critical | AC-23 |
|
|
674
|
+
| SCHED-UAT-011 | Status Display | Pending badge | Normal | AC-23 |
|
|
675
|
+
| SCHED-UAT-012 | Status Display | Completed badge | Normal | AC-23 |
|
|
676
|
+
| SCHED-UAT-013 | Status Display | Failed badge | Normal | AC-23 |
|
|
677
|
+
| SCHED-UAT-020 | Action Details | All columns visible | Critical | AC-24 |
|
|
678
|
+
| SCHED-UAT-021 | Action Details | Action type displayed | Normal | AC-24 |
|
|
679
|
+
| SCHED-UAT-022 | Action Details | Scheduled time | Normal | AC-24 |
|
|
680
|
+
| SCHED-UAT-023 | Action Details | Team ID or Global | Normal | AC-24 |
|
|
681
|
+
| SCHED-UAT-024 | Action Details | Payload preview | Normal | AC-24 |
|
|
682
|
+
| SCHED-UAT-030 | Error Display | Error column visible | Critical | AC-25 |
|
|
683
|
+
| SCHED-UAT-031 | Error Display | Error message shown | Critical | AC-25 |
|
|
684
|
+
| SCHED-UAT-032 | Error Display | Expandable error | Normal | AC-25 |
|
|
685
|
+
| SCHED-UAT-040 | Filters | Status filter | Critical | AC-26 |
|
|
686
|
+
| SCHED-UAT-041 | Filters | Action type filter | Critical | AC-26 |
|
|
687
|
+
| SCHED-UAT-042 | Filters | Status filter works | Critical | AC-26 |
|
|
688
|
+
| SCHED-UAT-043 | Filters | Type filter works | Critical | AC-26 |
|
|
689
|
+
| SCHED-UAT-044 | Filters | Reset button | Normal | AC-26 |
|
|
690
|
+
| SCHED-UAT-045 | Filters | Combined filters | Normal | AC-26 |
|
|
691
|
+
| SCHED-UAT-050 | Empty State | Empty state message | Normal | - |
|
|
692
|
+
| SCHED-UAT-060 | Pagination | Controls visible | Normal | - |
|
|
693
|
+
| SCHED-UAT-061 | Pagination | Next button | Normal | - |
|
|
694
|
+
| SCHED-UAT-062 | Pagination | Previous button | Normal | - |
|
|
695
|
+
|
|
696
|
+
---
|
|
697
|
+
|
|
698
|
+
## Visual Flow
|
|
699
|
+
|
|
700
|
+
```
|
|
701
|
+
[Login as Developer] → [Visit /devtools/scheduled-actions]
|
|
702
|
+
│
|
|
703
|
+
▼
|
|
704
|
+
┌────────────────┐
|
|
705
|
+
│ Page Load │
|
|
706
|
+
│ Title + Desc │
|
|
707
|
+
└───────┬────────┘
|
|
708
|
+
│
|
|
709
|
+
▼
|
|
710
|
+
┌──────────────────────────────┐
|
|
711
|
+
│ Data Table │
|
|
712
|
+
│ ┌──────┬──────┬────────────┐ │
|
|
713
|
+
│ │ Type │Status│ScheduledAt │ │
|
|
714
|
+
│ ├──────┼──────┼────────────┤ │
|
|
715
|
+
│ │ ... │ 🟡 │ 2025-12-30 │ │
|
|
716
|
+
│ │ ... │ 🟢 │ 2025-12-29 │ │
|
|
717
|
+
│ │ ... │ 🔴 │ 2025-12-28 │ │
|
|
718
|
+
│ └──────┴──────┴────────────┘ │
|
|
719
|
+
└──────────────────────────────┘
|
|
720
|
+
│
|
|
721
|
+
┌──────────────┼──────────────┐
|
|
722
|
+
▼ ▼ ▼
|
|
723
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
724
|
+
│ Filters │ │ Empty │ │Pagination│
|
|
725
|
+
│Status/Type│ │ State │ │ Prev/Next│
|
|
726
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
## Status Badge Colors
|
|
730
|
+
|
|
731
|
+
| Status | Color | Badge Variant |
|
|
732
|
+
|--------|-------|---------------|
|
|
733
|
+
| Pending | Yellow | `warning` |
|
|
734
|
+
| Running | Blue | `info` |
|
|
735
|
+
| Completed | Green | `success` |
|
|
736
|
+
| Failed | Red | `destructive` |
|