@nextsparkjs/theme-default 0.1.0-beta.44 → 0.1.0-beta.45

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 (48) hide show
  1. package/components/ai-chat/ChatPanel.tsx +7 -7
  2. package/components/ai-chat/Message.tsx +2 -2
  3. package/components/ai-chat/MessageInput.tsx +3 -3
  4. package/components/ai-chat/MessageList.tsx +3 -3
  5. package/components/ai-chat/TypingIndicator.tsx +2 -2
  6. package/entities/customers/api/docs.md +107 -0
  7. package/entities/customers/api/presets.ts +80 -0
  8. package/entities/pages/api/docs.md +114 -0
  9. package/entities/pages/api/presets.ts +72 -0
  10. package/entities/posts/api/docs.md +120 -0
  11. package/entities/posts/api/presets.ts +74 -0
  12. package/entities/tasks/api/docs.md +126 -0
  13. package/entities/tasks/api/presets.ts +84 -0
  14. package/lib/selectors.ts +2 -2
  15. package/messages/de/admin.json +45 -0
  16. package/messages/en/admin.json +45 -0
  17. package/messages/es/admin.json +45 -0
  18. package/messages/fr/admin.json +45 -0
  19. package/messages/it/admin.json +45 -0
  20. package/messages/pt/admin.json +45 -0
  21. package/package.json +3 -3
  22. package/styles/globals.css +24 -0
  23. package/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +491 -0
  24. package/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +475 -0
  25. package/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +52 -0
  26. package/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +14 -14
  27. package/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +3 -3
  28. package/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +38 -73
  29. package/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +21 -42
  30. package/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +117 -38
  31. package/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +35 -12
  32. package/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +50 -59
  33. package/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +15 -23
  34. package/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +395 -155
  35. package/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +795 -174
  36. package/tests/cypress/e2e/api/_core/teams/teams-security.cy.ts +415 -0
  37. package/tests/cypress/e2e/uat/_core/teams/inline-edit.cy.ts +278 -0
  38. package/tests/cypress/src/core/BlockEditorBasePOM.ts +269 -99
  39. package/tests/cypress/src/core/DashboardEntityPOM.ts +1 -1
  40. package/tests/cypress/src/features/DashboardPOM.ts +49 -28
  41. package/tests/cypress/src/features/PageBuilderPOM.ts +20 -0
  42. package/tests/cypress/src/features/SettingsPOM.ts +511 -166
  43. package/tests/cypress/src/features/SuperadminPOM.ts +679 -159
  44. package/tests/cypress/src/features/index.ts +10 -10
  45. package/tests/cypress/e2e/_utils/selectors/pages-editor.bdd.md +0 -207
  46. package/tests/cypress/e2e/_utils/selectors/pages-editor.cy.ts +0 -211
  47. package/tests/cypress/e2e/_utils/selectors/posts-editor.bdd.md +0 -184
  48. package/tests/cypress/e2e/_utils/selectors/posts-editor.cy.ts +0 -350
@@ -1,36 +1,35 @@
1
1
  ---
2
2
  feature: Settings Layout UI Selectors Validation
3
3
  priority: high
4
- tags: [selectors, settings, layout, ui-validation]
4
+ tags: [selectors, settings, layout, sidebar, ui-validation]
5
5
  grepTags: [ui-selectors, settings, SEL_LAY_001, SEL_LAY_002]
6
6
  coverage: 2
7
7
  ---
8
8
 
9
9
  # Settings Layout UI Selectors Validation
10
10
 
11
- > Validates that settings layout selectors exist in the DOM. This is a lightweight test that ONLY checks selector presence, not functionality. Runs as Phase 12 sub-gate before functional tests.
11
+ > Validates that settings layout and sidebar selectors exist in the DOM. This is a lightweight test that ONLY checks selector presence, not functionality. Runs as Phase 12 sub-gate before functional tests.
12
12
 
13
- ## @test SEL_LAY_001: Layout Selectors
13
+ ## @test SEL_LAY_001: Layout Selectors (sidebar.layout.*)
14
14
 
15
15
  ### Metadata
16
16
  - **Priority:** High
17
17
  - **Type:** Selector Validation
18
18
  - **Tags:** settings, layout, container
19
19
  - **Grep:** `@ui-selectors` `@SEL_LAY_001`
20
- - **Status:** Active (7 passing, 0 skipped)
20
+ - **Status:** Active (6 passing, 0 skipped)
21
21
 
22
22
  ```gherkin:en
23
23
  Scenario: Settings layout has required selectors
24
24
 
25
25
  Given I am logged in as developer
26
26
  And I navigate to the settings page
27
- Then I should find the settings layout main container
28
- And I should find the settings header
29
- And I should find the settings content area
30
- And I should find the settings sidebar
31
- And I should find the settings sidebar container
32
- And I should find the settings mobile menu trigger
33
- And I should find the settings mobile sheet
27
+ Then I should find the layout main container
28
+ And I should find the back to dashboard link
29
+ And I should find the layout header
30
+ And I should find the layout content area
31
+ And I should find the sidebar container
32
+ And I should find the layout page content
34
33
  ```
35
34
 
36
35
  ```gherkin:es
@@ -38,23 +37,21 @@ Scenario: El layout de settings tiene los selectores requeridos
38
37
 
39
38
  Given estoy logueado como developer
40
39
  And navego a la pagina de settings
41
- Then deberia encontrar el contenedor principal del layout de settings
42
- And deberia encontrar el header de settings
43
- And deberia encontrar el area de contenido de settings
44
- And deberia encontrar el sidebar de settings
45
- And deberia encontrar el contenedor del sidebar de settings
46
- And deberia encontrar el trigger del menu movil de settings
47
- And deberia encontrar el sheet movil de settings
40
+ Then deberia encontrar el contenedor principal del layout
41
+ And deberia encontrar el link de volver al dashboard
42
+ And deberia encontrar el header del layout
43
+ And deberia encontrar el area de contenido del layout
44
+ And deberia encontrar el contenedor del sidebar
45
+ And deberia encontrar el contenido de la pagina del layout
48
46
  ```
49
47
 
50
48
  ### Expected Results
51
- - `settings.layout.main` selector exists (settings-layout-main)
52
- - `settings.layout.header` selector exists (settings-layout-header)
53
- - `settings.layout.content` selector exists (settings-layout-content)
54
- - `settings.layout.sidebar` selector exists (settings-layout-sidebar)
55
- - `settings.layout.sidebarContainer` selector exists (settings-sidebar-container)
56
- - `settings.layout.mobileMenuTrigger` selector exists (settings-mobile-menu-trigger)
57
- - `settings.layout.mobileSheet` selector exists (settings-mobile-sheet)
49
+ - `settings.sidebar.layout.main` selector exists (settings-layout-main)
50
+ - `settings.sidebar.backButton` selector exists (settings-back-to-dashboard)
51
+ - `settings.sidebar.layout.header` selector exists (settings-layout-header)
52
+ - `settings.sidebar.layout.contentArea` selector exists (settings-layout-content-area)
53
+ - `settings.sidebar.container` selector exists (settings-sidebar)
54
+ - `settings.sidebar.layout.pageContent` selector exists (settings-layout-page-content)
58
55
 
59
56
  ---
60
57
 
@@ -65,25 +62,23 @@ And deberia encontrar el sheet movil de settings
65
62
  - **Type:** Selector Validation
66
63
  - **Tags:** settings, sidebar, navigation
67
64
  - **Grep:** `@ui-selectors` `@SEL_LAY_002`
68
- - **Status:** Active (11 passing, 0 skipped)
65
+ - **Status:** Active (10 passing, 0 skipped)
69
66
 
70
67
  ```gherkin:en
71
68
  Scenario: Settings sidebar has all navigation links
72
69
 
73
70
  Given I am logged in as developer
74
71
  And I navigate to the settings page
75
- Then I should find the profile nav link
72
+ Then I should find the sidebar container
73
+ And I should find the sidebar header
74
+ And I should find the sidebar nav items container
75
+ And I should find the profile nav link
76
+ And I should find the security nav link
76
77
  And I should find the password nav link
77
- And I should find the teams nav link
78
- And I should find the API keys nav link
79
- And I should find the appearance nav link
80
78
  And I should find the notifications nav link
79
+ And I should find the api-keys nav link
81
80
  And I should find the billing nav link
82
- And I should find the members nav link
83
- And I should find the invite nav link
84
- And I should find the roles nav link
85
- And I should find the danger zone nav link
86
- And I should find the back to dashboard link
81
+ And I should find the teams nav link
87
82
  ```
88
83
 
89
84
  ```gherkin:es
@@ -91,36 +86,32 @@ Scenario: El sidebar de settings tiene todos los links de navegacion
91
86
 
92
87
  Given estoy logueado como developer
93
88
  And navego a la pagina de settings
94
- Then deberia encontrar el link de navegacion a perfil
89
+ Then deberia encontrar el contenedor del sidebar
90
+ And deberia encontrar el header del sidebar
91
+ And deberia encontrar el contenedor de items de navegacion
92
+ And deberia encontrar el link de navegacion a perfil
93
+ And deberia encontrar el link de navegacion a seguridad
95
94
  And deberia encontrar el link de navegacion a password
96
- And deberia encontrar el link de navegacion a equipos
97
- And deberia encontrar el link de navegacion a API keys
98
- And deberia encontrar el link de navegacion a apariencia
99
95
  And deberia encontrar el link de navegacion a notificaciones
96
+ And deberia encontrar el link de navegacion a api-keys
100
97
  And deberia encontrar el link de navegacion a facturacion
101
- And deberia encontrar el link de navegacion a miembros
102
- And deberia encontrar el link de navegacion a invitar
103
- And deberia encontrar el link de navegacion a roles
104
- And deberia encontrar el link de navegacion a zona de peligro
105
- And deberia encontrar el link de volver al dashboard
98
+ And deberia encontrar el link de navegacion a equipos
106
99
  ```
107
100
 
108
101
  ### Expected Results
109
- - `settings.sidebar.profile` selector exists (settings-sidebar-profile)
110
- - `settings.sidebar.password` selector exists (settings-sidebar-password)
111
- - `settings.sidebar.teams` selector exists (settings-sidebar-teams)
112
- - `settings.sidebar.apiKeys` selector exists (settings-sidebar-api-keys)
113
- - `settings.sidebar.appearance` selector exists (settings-sidebar-appearance)
114
- - `settings.sidebar.notifications` selector exists (settings-sidebar-notifications)
115
- - `settings.sidebar.billing` selector exists (settings-sidebar-billing)
116
- - `settings.sidebar.members` selector exists (settings-sidebar-members)
117
- - `settings.sidebar.invite` selector exists (settings-sidebar-invite)
118
- - `settings.sidebar.roles` selector exists (settings-sidebar-roles)
119
- - `settings.sidebar.dangerZone` selector exists (settings-sidebar-danger-zone)
120
- - `settings.sidebar.backToDashboard` selector exists (settings-sidebar-back-to-dashboard)
102
+ - `settings.sidebar.container` selector exists (settings-sidebar)
103
+ - `settings.sidebar.header` selector exists (settings-sidebar-header)
104
+ - `settings.sidebar.nav.items` selector exists (settings-sidebar-nav-items)
105
+ - `settings.sidebar.nav.item` with section=profile exists (settings-sidebar-nav-profile)
106
+ - `settings.sidebar.nav.item` with section=security exists (settings-sidebar-nav-security)
107
+ - `settings.sidebar.nav.item` with section=password exists (settings-sidebar-nav-password)
108
+ - `settings.sidebar.nav.item` with section=notifications exists (settings-sidebar-nav-notifications)
109
+ - `settings.sidebar.nav.item` with section=api-keys exists (settings-sidebar-nav-api-keys)
110
+ - `settings.sidebar.nav.item` with section=billing exists (settings-sidebar-nav-billing)
111
+ - `settings.sidebar.nav.item` with section=teams exists (settings-sidebar-nav-teams)
121
112
 
122
113
  ### Notes
123
- Some sidebar items may not be visible depending on user permissions. The test validates selectors that are accessible to the developer role.
114
+ Some sidebar items may not be visible depending on user permissions and theme configuration. The test validates selectors that are accessible to the developer role.
124
115
 
125
116
  ---
126
117
 
@@ -128,8 +119,8 @@ Some sidebar items may not be visible depending on user permissions. The test va
128
119
 
129
120
  | Component | File | Selectors |
130
121
  |-----------|------|-----------|
131
- | SettingsLayout | `packages/core/src/components/settings/SettingsLayout.tsx` | settings-layout-main, settings-layout-header, settings-layout-content |
132
- | SettingsSidebar | `packages/core/src/components/settings/SettingsSidebar.tsx` | settings-sidebar-*, settings-layout-sidebar |
122
+ | SettingsLayout | `packages/core/src/components/settings/layouts/SettingsLayout.tsx` | settings-layout-main, settings-layout-header, settings-layout-content-area |
123
+ | SettingsSidebar | `packages/core/src/components/settings/layouts/SettingsSidebar.tsx` | settings-sidebar, settings-sidebar-header, settings-sidebar-nav-* |
133
124
 
134
125
  ## Related POMs
135
126
 
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Purpose:
8
8
  * - Validate SettingsPOM layout and sidebar selectors work correctly
9
- * - Ensure all settings.layout.* and settings.sidebar.* selectors are implemented
9
+ * - Ensure all settings.sidebar.* and settings.sidebar.layout.* selectors are implemented
10
10
  * - Run as Phase 12 sub-gate before functional tests
11
11
  *
12
12
  * Scope:
@@ -15,7 +15,7 @@
15
15
  * - Fast execution (< 30 seconds per describe block)
16
16
  *
17
17
  * Test IDs:
18
- * - SEL_LAY_001: Layout Selectors
18
+ * - SEL_LAY_001: Layout Selectors (under sidebar.layout.*)
19
19
  * - SEL_LAY_002: Sidebar Selectors
20
20
  */
21
21
 
@@ -30,7 +30,7 @@ describe('Settings Layout Selectors Validation', { tags: ['@ui-selectors', '@set
30
30
  })
31
31
 
32
32
  // ============================================
33
- // SEL_LAY_001: LAYOUT SELECTORS
33
+ // SEL_LAY_001: LAYOUT SELECTORS (sidebar.layout.*)
34
34
  // ============================================
35
35
  describe('SEL_LAY_001: Layout Selectors', { tags: '@SEL_LAY_001' }, () => {
36
36
  beforeEach(() => {
@@ -42,12 +42,8 @@ describe('Settings Layout Selectors Validation', { tags: ['@ui-selectors', '@set
42
42
  cy.get(settings.selectors.layoutMain).should('exist')
43
43
  })
44
44
 
45
- it('should find layout nav', () => {
46
- cy.get(settings.selectors.layoutNav).should('exist')
47
- })
48
-
49
45
  it('should find back to dashboard link', () => {
50
- cy.get(settings.selectors.layoutBackToDashboard).should('exist')
46
+ cy.get(settings.selectors.sidebarBackButton).should('exist')
51
47
  })
52
48
 
53
49
  it('should find layout header', () => {
@@ -58,8 +54,8 @@ describe('Settings Layout Selectors Validation', { tags: ['@ui-selectors', '@set
58
54
  cy.get(settings.selectors.layoutContentArea).should('exist')
59
55
  })
60
56
 
61
- it('should find layout sidebar', () => {
62
- cy.get(settings.selectors.layoutSidebar).should('exist')
57
+ it('should find sidebar container', () => {
58
+ cy.get(settings.selectors.sidebarContainer).should('exist')
63
59
  })
64
60
 
65
61
  it('should find layout page content', () => {
@@ -76,8 +72,8 @@ describe('Settings Layout Selectors Validation', { tags: ['@ui-selectors', '@set
76
72
  settings.waitForSettings()
77
73
  })
78
74
 
79
- it('should find sidebar nav container', () => {
80
- cy.get(settings.selectors.navContainer).should('exist')
75
+ it('should find sidebar container', () => {
76
+ cy.get(settings.selectors.sidebarContainer).should('exist')
81
77
  })
82
78
 
83
79
  it('should find sidebar header', () => {
@@ -89,35 +85,31 @@ describe('Settings Layout Selectors Validation', { tags: ['@ui-selectors', '@set
89
85
  })
90
86
 
91
87
  it('should find profile nav item', () => {
92
- cy.get(settings.selectors.navItem('profile')).should('exist')
88
+ cy.get(settings.selectors.sidebarNavItem('profile')).should('exist')
93
89
  })
94
90
 
95
91
  it('should find security nav item', () => {
96
- cy.get(settings.selectors.navItem('security')).should('exist')
92
+ cy.get(settings.selectors.sidebarNavItem('security')).should('exist')
97
93
  })
98
94
 
99
95
  it('should find password nav item', () => {
100
- cy.get(settings.selectors.navItem('password')).should('exist')
96
+ cy.get(settings.selectors.sidebarNavItem('password')).should('exist')
101
97
  })
102
98
 
103
99
  it('should find notifications nav item', () => {
104
- cy.get(settings.selectors.navItem('notifications')).should('exist')
100
+ cy.get(settings.selectors.sidebarNavItem('notifications')).should('exist')
105
101
  })
106
102
 
107
103
  it('should find api-keys nav item', () => {
108
- cy.get(settings.selectors.navItem('api-keys')).should('exist')
104
+ cy.get(settings.selectors.sidebarNavItem('api-keys')).should('exist')
109
105
  })
110
106
 
111
107
  it('should find billing nav item', () => {
112
- cy.get(settings.selectors.navItem('billing')).should('exist')
108
+ cy.get(settings.selectors.sidebarNavItem('billing')).should('exist')
113
109
  })
114
110
 
115
111
  it('should find teams nav item', () => {
116
- cy.get(settings.selectors.navItem('teams')).should('exist')
117
- })
118
-
119
- it('should find plans nav item', () => {
120
- cy.get(settings.selectors.navItem('plans')).should('exist')
112
+ cy.get(settings.selectors.sidebarNavItem('teams')).should('exist')
121
113
  })
122
114
  })
123
115
  })