@nextsparkjs/theme-default 0.1.0-beta.20 → 0.1.0-beta.22
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/support/e2e.ts +89 -0
- package/tests/cypress.config.ts +165 -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,476 @@
|
|
|
1
|
+
---
|
|
2
|
+
feature: Block CRUD Operations
|
|
3
|
+
priority: high
|
|
4
|
+
tags: [page-builder, blocks, crud, admin]
|
|
5
|
+
grepTags: [uat, feat-pages, block-crud, page-builder, regression]
|
|
6
|
+
coverage: 14
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Block CRUD Operations
|
|
10
|
+
|
|
11
|
+
> Comprehensive test suite for block creation, editing, duplication, removal, and reordering in the Page Builder.
|
|
12
|
+
|
|
13
|
+
## @test PB-BLOCK-001: Add Hero block
|
|
14
|
+
|
|
15
|
+
### Metadata
|
|
16
|
+
- **Priority:** High
|
|
17
|
+
- **Type:** Smoke
|
|
18
|
+
- **Tags:** add, hero
|
|
19
|
+
- **Grep:** `@smoke`
|
|
20
|
+
|
|
21
|
+
```gherkin:en
|
|
22
|
+
Scenario: Add Hero block to empty canvas
|
|
23
|
+
|
|
24
|
+
Given I am logged in as Owner
|
|
25
|
+
And I have created a test page via API
|
|
26
|
+
When I visit the page editor
|
|
27
|
+
And I switch to Layout mode
|
|
28
|
+
And the canvas is empty
|
|
29
|
+
And I add a "hero" block
|
|
30
|
+
Then the block count should be 1
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```gherkin:es
|
|
34
|
+
Scenario: Agregar bloque Hero al canvas vacío
|
|
35
|
+
|
|
36
|
+
Given estoy logueado como Owner
|
|
37
|
+
And he creado una página de prueba via API
|
|
38
|
+
When visito el editor de páginas
|
|
39
|
+
And cambio al modo Layout
|
|
40
|
+
And el canvas está vacío
|
|
41
|
+
And agrego un bloque "hero"
|
|
42
|
+
Then la cantidad de bloques debería ser 1
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Expected Results
|
|
46
|
+
- Hero block appears on canvas
|
|
47
|
+
- Block count updates to 1
|
|
48
|
+
- Block is selectable
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## @test PB-BLOCK-002: Add Features Grid block
|
|
53
|
+
|
|
54
|
+
### Metadata
|
|
55
|
+
- **Priority:** Medium
|
|
56
|
+
- **Type:** Regression
|
|
57
|
+
- **Tags:** add, features-grid
|
|
58
|
+
|
|
59
|
+
```gherkin:en
|
|
60
|
+
Scenario: Add Features Grid block
|
|
61
|
+
|
|
62
|
+
Given I am on the page editor in Layout mode
|
|
63
|
+
When I add a "features-grid" block
|
|
64
|
+
Then the block count should be 1
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
```gherkin:es
|
|
68
|
+
Scenario: Agregar bloque Features Grid
|
|
69
|
+
|
|
70
|
+
Given estoy en el editor de páginas en modo Layout
|
|
71
|
+
When agrego un bloque "features-grid"
|
|
72
|
+
Then la cantidad de bloques debería ser 1
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Expected Results
|
|
76
|
+
- Features Grid block appears on canvas
|
|
77
|
+
- Default grid items are displayed
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## @test PB-BLOCK-003: Add CTA Section block
|
|
82
|
+
|
|
83
|
+
### Metadata
|
|
84
|
+
- **Priority:** Medium
|
|
85
|
+
- **Type:** Regression
|
|
86
|
+
- **Tags:** add, cta-section
|
|
87
|
+
|
|
88
|
+
```gherkin:en
|
|
89
|
+
Scenario: Add CTA Section block
|
|
90
|
+
|
|
91
|
+
Given I am on the page editor in Layout mode
|
|
92
|
+
When I add a "cta-section" block
|
|
93
|
+
Then the block count should be 1
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
```gherkin:es
|
|
97
|
+
Scenario: Agregar bloque CTA Section
|
|
98
|
+
|
|
99
|
+
Given estoy en el editor de páginas en modo Layout
|
|
100
|
+
When agrego un bloque "cta-section"
|
|
101
|
+
Then la cantidad de bloques debería ser 1
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Expected Results
|
|
105
|
+
- CTA Section block appears on canvas
|
|
106
|
+
- Default CTA content is visible
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## @test PB-BLOCK-004: Add Testimonials block
|
|
111
|
+
|
|
112
|
+
### Metadata
|
|
113
|
+
- **Priority:** Medium
|
|
114
|
+
- **Type:** Regression
|
|
115
|
+
- **Tags:** add, testimonials
|
|
116
|
+
|
|
117
|
+
```gherkin:en
|
|
118
|
+
Scenario: Add Testimonials block
|
|
119
|
+
|
|
120
|
+
Given I am on the page editor in Layout mode
|
|
121
|
+
When I add a "testimonials" block
|
|
122
|
+
Then the block count should be 1
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```gherkin:es
|
|
126
|
+
Scenario: Agregar bloque Testimonials
|
|
127
|
+
|
|
128
|
+
Given estoy en el editor de páginas en modo Layout
|
|
129
|
+
When agrego un bloque "testimonials"
|
|
130
|
+
Then la cantidad de bloques debería ser 1
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Expected Results
|
|
134
|
+
- Testimonials block appears on canvas
|
|
135
|
+
- Default testimonial items are shown
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## @test PB-BLOCK-005: Add Text Content block
|
|
140
|
+
|
|
141
|
+
### Metadata
|
|
142
|
+
- **Priority:** Medium
|
|
143
|
+
- **Type:** Regression
|
|
144
|
+
- **Tags:** add, text-content
|
|
145
|
+
|
|
146
|
+
```gherkin:en
|
|
147
|
+
Scenario: Add Text Content block
|
|
148
|
+
|
|
149
|
+
Given I am on the page editor in Layout mode
|
|
150
|
+
When I add a "text-content" block
|
|
151
|
+
Then the block count should be 1
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
```gherkin:es
|
|
155
|
+
Scenario: Agregar bloque Text Content
|
|
156
|
+
|
|
157
|
+
Given estoy en el editor de páginas en modo Layout
|
|
158
|
+
When agrego un bloque "text-content"
|
|
159
|
+
Then la cantidad de bloques debería ser 1
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Expected Results
|
|
163
|
+
- Text Content block appears on canvas
|
|
164
|
+
- Default text placeholder is visible
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## @test PB-BLOCK-006: Add multiple blocks
|
|
169
|
+
|
|
170
|
+
### Metadata
|
|
171
|
+
- **Priority:** High
|
|
172
|
+
- **Type:** Smoke
|
|
173
|
+
- **Tags:** add, multiple
|
|
174
|
+
- **Grep:** `@smoke`
|
|
175
|
+
|
|
176
|
+
```gherkin:en
|
|
177
|
+
Scenario: Add multiple blocks to canvas
|
|
178
|
+
|
|
179
|
+
Given I am on the page editor in Layout mode
|
|
180
|
+
When I add a "hero" block
|
|
181
|
+
And I add a "features-grid" block
|
|
182
|
+
And I add a "cta-section" block
|
|
183
|
+
Then the block count should be 3
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
```gherkin:es
|
|
187
|
+
Scenario: Agregar múltiples bloques al canvas
|
|
188
|
+
|
|
189
|
+
Given estoy en el editor de páginas en modo Layout
|
|
190
|
+
When agrego un bloque "hero"
|
|
191
|
+
And agrego un bloque "features-grid"
|
|
192
|
+
And agrego un bloque "cta-section"
|
|
193
|
+
Then la cantidad de bloques debería ser 3
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Expected Results
|
|
197
|
+
- All three blocks appear on canvas
|
|
198
|
+
- Blocks are in correct order
|
|
199
|
+
- Block count shows 3
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## @test PB-BLOCK-007: Edit block title prop
|
|
204
|
+
|
|
205
|
+
### Metadata
|
|
206
|
+
- **Priority:** High
|
|
207
|
+
- **Type:** Smoke
|
|
208
|
+
- **Tags:** edit, props, title
|
|
209
|
+
- **Grep:** `@smoke`
|
|
210
|
+
|
|
211
|
+
```gherkin:en
|
|
212
|
+
Scenario: Edit block properties
|
|
213
|
+
|
|
214
|
+
Given I am on the page editor with a hero block
|
|
215
|
+
When I locate the title field in settings panel
|
|
216
|
+
And I change the title to "Custom Hero Title"
|
|
217
|
+
And I save the page
|
|
218
|
+
Then the API should confirm the update
|
|
219
|
+
And the block should have the new title
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
```gherkin:es
|
|
223
|
+
Scenario: Editar propiedades del bloque
|
|
224
|
+
|
|
225
|
+
Given estoy en el editor de páginas con un bloque hero
|
|
226
|
+
When localizo el campo título en el panel de configuración
|
|
227
|
+
And cambio el título a "Custom Hero Title"
|
|
228
|
+
And guardo la página
|
|
229
|
+
Then la API debería confirmar la actualización
|
|
230
|
+
And el bloque debería tener el nuevo título
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Expected Results
|
|
234
|
+
- Settings panel shows title field
|
|
235
|
+
- Title change is reflected in preview
|
|
236
|
+
- Save completes successfully
|
|
237
|
+
- API confirms the update
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## @test PB-BLOCK-008: Duplicate existing block
|
|
242
|
+
|
|
243
|
+
### Metadata
|
|
244
|
+
- **Priority:** Medium
|
|
245
|
+
- **Type:** Regression
|
|
246
|
+
- **Tags:** duplicate
|
|
247
|
+
|
|
248
|
+
```gherkin:en
|
|
249
|
+
Scenario: Duplicate a block
|
|
250
|
+
|
|
251
|
+
Given I am on the page editor with a hero block
|
|
252
|
+
And the block count is 1
|
|
253
|
+
When I get the block ID
|
|
254
|
+
And I duplicate the block
|
|
255
|
+
Then the block count should be 2
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
```gherkin:es
|
|
259
|
+
Scenario: Duplicar un bloque
|
|
260
|
+
|
|
261
|
+
Given estoy en el editor de páginas con un bloque hero
|
|
262
|
+
And la cantidad de bloques es 1
|
|
263
|
+
When obtengo el ID del bloque
|
|
264
|
+
And duplico el bloque
|
|
265
|
+
Then la cantidad de bloques debería ser 2
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Expected Results
|
|
269
|
+
- Duplicate button is accessible
|
|
270
|
+
- New block appears after original
|
|
271
|
+
- Block count updates to 2
|
|
272
|
+
- Duplicated block has same properties
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## @test PB-BLOCK-009: Remove block from canvas
|
|
277
|
+
|
|
278
|
+
### Metadata
|
|
279
|
+
- **Priority:** High
|
|
280
|
+
- **Type:** Smoke
|
|
281
|
+
- **Tags:** remove, delete
|
|
282
|
+
- **Grep:** `@smoke`
|
|
283
|
+
|
|
284
|
+
```gherkin:en
|
|
285
|
+
Scenario: Remove a block from canvas
|
|
286
|
+
|
|
287
|
+
Given I am on the page editor with a hero block
|
|
288
|
+
And the block count is 1
|
|
289
|
+
When I get the block ID
|
|
290
|
+
And I remove the block
|
|
291
|
+
Then the canvas should be empty
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
```gherkin:es
|
|
295
|
+
Scenario: Eliminar un bloque del canvas
|
|
296
|
+
|
|
297
|
+
Given estoy en el editor de páginas con un bloque hero
|
|
298
|
+
And la cantidad de bloques es 1
|
|
299
|
+
When obtengo el ID del bloque
|
|
300
|
+
And elimino el bloque
|
|
301
|
+
Then el canvas debería estar vacío
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Expected Results
|
|
305
|
+
- Remove button is accessible
|
|
306
|
+
- Block is removed from canvas
|
|
307
|
+
- Canvas shows empty state
|
|
308
|
+
- No orphan data remains
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## @test PB-BLOCK-010: Reorder blocks with drag and drop
|
|
313
|
+
|
|
314
|
+
### Metadata
|
|
315
|
+
- **Priority:** Medium
|
|
316
|
+
- **Type:** Regression
|
|
317
|
+
- **Tags:** reorder, drag-drop, layout-mode
|
|
318
|
+
|
|
319
|
+
```gherkin:en
|
|
320
|
+
Scenario: Reorder blocks with drag and drop
|
|
321
|
+
|
|
322
|
+
Given I am on the page editor in Layout mode
|
|
323
|
+
And I have added a "hero" block
|
|
324
|
+
And I have added a "cta-section" block
|
|
325
|
+
Then the first block should contain "hero"
|
|
326
|
+
And there should be 2 sortable blocks ready for reordering
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
```gherkin:es
|
|
330
|
+
Scenario: Reordenar bloques con arrastrar y soltar
|
|
331
|
+
|
|
332
|
+
Given estoy en el editor de páginas en modo Layout
|
|
333
|
+
And he agregado un bloque "hero"
|
|
334
|
+
And he agregado un bloque "cta-section"
|
|
335
|
+
Then el primer bloque debería contener "hero"
|
|
336
|
+
And debería haber 2 bloques ordenables listos para reordenar
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Expected Results
|
|
340
|
+
- Both blocks are visible
|
|
341
|
+
- Drag handles are present
|
|
342
|
+
- Blocks can be reordered
|
|
343
|
+
- Order persists after save
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## @test PB-BLOCK-011: Reorder blocks with move buttons
|
|
348
|
+
|
|
349
|
+
### Metadata
|
|
350
|
+
- **Priority:** Medium
|
|
351
|
+
- **Type:** Regression
|
|
352
|
+
- **Tags:** reorder, buttons, preview-mode
|
|
353
|
+
|
|
354
|
+
```gherkin:en
|
|
355
|
+
Scenario: Reorder blocks with move buttons in Preview mode
|
|
356
|
+
|
|
357
|
+
Given I am on the page editor with multiple blocks
|
|
358
|
+
And I switch to Preview mode
|
|
359
|
+
When I hover over the first block
|
|
360
|
+
And I click the "move down" button
|
|
361
|
+
Then the block should move down
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
```gherkin:es
|
|
365
|
+
Scenario: Reordenar bloques con botones en modo Preview
|
|
366
|
+
|
|
367
|
+
Given estoy en el editor de páginas con múltiples bloques
|
|
368
|
+
And cambio al modo Preview
|
|
369
|
+
When paso el mouse sobre el primer bloque
|
|
370
|
+
And hago clic en el botón "mover abajo"
|
|
371
|
+
Then el bloque debería moverse abajo
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Expected Results
|
|
375
|
+
- Move buttons appear on hover
|
|
376
|
+
- Move down button is clickable
|
|
377
|
+
- Block moves to new position
|
|
378
|
+
- Other blocks adjust accordingly
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## @test PB-BLOCK-012: Move up disabled for first block
|
|
383
|
+
|
|
384
|
+
### Metadata
|
|
385
|
+
- **Priority:** Low
|
|
386
|
+
- **Type:** Regression
|
|
387
|
+
- **Tags:** reorder, buttons, disabled
|
|
388
|
+
|
|
389
|
+
```gherkin:en
|
|
390
|
+
Scenario: Move up disabled for first block
|
|
391
|
+
|
|
392
|
+
Given I am on the page editor with multiple blocks
|
|
393
|
+
And I switch to Preview mode
|
|
394
|
+
When I hover over the first block
|
|
395
|
+
Then the "move up" button should be disabled
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
```gherkin:es
|
|
399
|
+
Scenario: Mover arriba deshabilitado para primer bloque
|
|
400
|
+
|
|
401
|
+
Given estoy en el editor de páginas con múltiples bloques
|
|
402
|
+
And cambio al modo Preview
|
|
403
|
+
When paso el mouse sobre el primer bloque
|
|
404
|
+
Then el botón "mover arriba" debería estar deshabilitado
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### Expected Results
|
|
408
|
+
- Move up button is visually disabled
|
|
409
|
+
- Button is not clickable
|
|
410
|
+
- Move down button is still active
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## @test PB-BLOCK-013: Reset block props to defaults
|
|
415
|
+
|
|
416
|
+
### Metadata
|
|
417
|
+
- **Priority:** Low
|
|
418
|
+
- **Type:** Regression
|
|
419
|
+
- **Tags:** reset, props, defaults
|
|
420
|
+
|
|
421
|
+
```gherkin:en
|
|
422
|
+
Scenario: Reset block properties to defaults
|
|
423
|
+
|
|
424
|
+
Given I am on the page editor with a hero block
|
|
425
|
+
And I have modified the title field
|
|
426
|
+
When I click the "reset props" button
|
|
427
|
+
Then the block properties should reset to defaults
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
```gherkin:es
|
|
431
|
+
Scenario: Resetear propiedades del bloque a valores por defecto
|
|
432
|
+
|
|
433
|
+
Given estoy en el editor de páginas con un bloque hero
|
|
434
|
+
And he modificado el campo título
|
|
435
|
+
When hago clic en el botón "resetear props"
|
|
436
|
+
Then las propiedades del bloque deberían resetearse a valores por defecto
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
### Expected Results
|
|
440
|
+
- Reset button is accessible
|
|
441
|
+
- Confirmation dialog appears (if any)
|
|
442
|
+
- All props return to default values
|
|
443
|
+
- Block updates in preview
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## @test PB-BLOCK-014: Add items to array field
|
|
448
|
+
|
|
449
|
+
### Metadata
|
|
450
|
+
- **Priority:** Medium
|
|
451
|
+
- **Type:** Regression
|
|
452
|
+
- **Tags:** array, fields, add-item
|
|
453
|
+
|
|
454
|
+
```gherkin:en
|
|
455
|
+
Scenario: Add items to array field
|
|
456
|
+
|
|
457
|
+
Given I am on the page editor with a features-grid block
|
|
458
|
+
When I locate the array add button
|
|
459
|
+
And I click to add an item
|
|
460
|
+
Then at least 1 item should exist in the array
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
```gherkin:es
|
|
464
|
+
Scenario: Agregar items al campo array
|
|
465
|
+
|
|
466
|
+
Given estoy en el editor de páginas con un bloque features-grid
|
|
467
|
+
When localizo el botón agregar del array
|
|
468
|
+
And hago clic para agregar un item
|
|
469
|
+
Then al menos 1 item debería existir en el array
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
### Expected Results
|
|
473
|
+
- Add item button is visible
|
|
474
|
+
- New item appears in array
|
|
475
|
+
- Item can be edited
|
|
476
|
+
- Array count updates
|