Site Builder Tests
Projects Dashboard (/business/apps/sitebuilder)
Section titled “Projects Dashboard (/business/apps/sitebuilder)”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-001 | List projects with stats | User has site builder projects | 1. Navigate to /business/apps/sitebuilder. | All projects listed. Stats displayed: total projects, published projects, live sites count. Create project form available. | P0 |
| SB-002 | Empty state | New user, no projects | 1. Navigate to site builder dashboard. | Stats show zeros. Empty state with CTA to create first project or browse templates. | P1 |
| SB-003 | Create project | None | 1. Fill project form (name). 2. Submit create action. | Project created. User redirected to /editor/{project.id} (visual editor). | P0 |
| SB-004 | Create project with validation errors | None | 1. Submit create with empty name or invalid data. | Returns 400 with form validation errors. | P1 |
| SB-005 | Delete project | Project exists | 1. Submit delete action with projectId. | Project deleted. success: true returned. Project removed from list. | P0 |
| SB-006 | Delete project missing ID | None | 1. Submit delete without projectId. | Returns 400. | P1 |
| SB-007 | Delete project failure | Project does not exist or server error | 1. Submit delete with invalid projectId. | Returns 500 with error message. | P2 |
| SB-008 | Unauthenticated actions | Not signed in | 1. Submit create or delete without auth. | Returns 401. | P0 |
Project Detail (/business/apps/sitebuilder/[projectId])
Section titled “Project Detail (/business/apps/sitebuilder/[projectId])”Project Data
Section titled “Project Data”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-010 | Load project with pages | Project has pages | 1. Navigate to /business/apps/sitebuilder/{projectId}. | Project details shown. Pages listed. Published site info displayed if published. Form submissions listed if site has a published form. Add page and update project forms available. | P0 |
| SB-011 | Non-existent project returns 404 | None | 1. Navigate to /business/apps/sitebuilder/{nonexistent-id}. | Returns 404 “Project not found”. | P1 |
| SB-012 | Access another user’s project | Project belongs to different user | 1. Navigate to project detail for another user’s project. | Returns 403 “Forbidden”. | P0 |
Publishing
Section titled “Publishing”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-020 | Publish site | Project exists, not yet published | 1. Fill subdomain and optional forms email. 2. Submit publish action. | Site published. success: true returned. Published site info appears on page. | P0 |
| SB-021 | Publish with custom subdomain | None | 1. Submit publish with subdomain “my-store”. | Site published at the specified subdomain. | P1 |
| SB-022 | Publish with forms email | None | 1. Submit publish with forms_email set. | Site published. Form submissions will be forwarded to the specified email. | P1 |
| SB-023 | Unpublish site | Site is published | 1. Submit unpublish action. | Site unpublished. success: true returned. Published site info removed. | P0 |
| SB-024 | Unpublish failure | Site not published or server error | 1. Submit unpublish when site is not published. | Returns 500 with error message. | P2 |
Page Management
Section titled “Page Management”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-030 | Add page | Project exists | 1. Fill add page form (title, slug). 2. Submit addPage action. | Page created. success: true returned. Page appears in project’s page list. | P0 |
| SB-031 | Add page with validation errors | None | 1. Submit addPage with invalid data. | Returns 400 with form validation errors. | P1 |
| SB-032 | Delete page | Page exists in project | 1. Submit deletePage action with pageId. | Page deleted. success: true returned. | P1 |
| SB-033 | Delete page missing ID | None | 1. Submit deletePage without pageId. | Returns 400. | P2 |
Project Settings
Section titled “Project Settings”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-040 | Update project name | Project exists | 1. Modify project name in update form. 2. Submit updateProject action. | Project updated. success: true returned. | P1 |
| SB-041 | Update project with validation errors | None | 1. Submit updateProject with invalid data. | Returns 400 with form validation errors. | P1 |
Form Submissions
Section titled “Form Submissions”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-050 | View form submissions | Published site has form submissions | 1. Navigate to project detail. | Form submissions section shows all submissions with data and timestamps. | P1 |
| SB-051 | No submissions displayed for unpublished site | Site is not published | 1. Navigate to project detail. | Form submissions section is empty or hidden. No errors. | P2 |
Templates (/business/apps/sitebuilder/templates)
Section titled “Templates (/business/apps/sitebuilder/templates)”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-060 | Browse templates | Templates exist in the system | 1. Navigate to /business/apps/sitebuilder/templates. | Templates listed. No auth required for browsing. | P0 |
| SB-061 | Filter by category | Templates in multiple categories | 1. Set ?category=business. | Only templates in the “business” category shown. | P1 |
| SB-062 | Search templates | Templates exist | 1. Set ?q=landing. | Templates matching “landing” are shown. | P1 |
| SB-063 | Use template to create project | User is signed in | 1. Submit use action with template_slug and project name. | Project created from template. User redirected to /editor/{project.id}. | P0 |
| SB-064 | Use template without slug | None | 1. Submit use without template_slug. | Returns 400. | P1 |
| SB-065 | Use template default name | None | 1. Submit use with slug but no name. | Project created with name “Untitled Site”. | P2 |
| SB-066 | Preview template | Template exists | 1. Submit preview action with templateId. | Template pages data returned for preview. | P1 |
| SB-067 | Preview without template ID | None | 1. Submit preview without templateId. | Returns 400. | P2 |
| SB-068 | Unauthenticated template use | Not signed in | 1. Submit use action. | Returns 401. | P0 |
AI Generation (/business/apps/sitebuilder/ai)
Section titled “AI Generation (/business/apps/sitebuilder/ai)”| Test ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|---|---|---|---|---|
| SB-070 | View AI generations | User has AI-generated sites | 1. Navigate to /business/apps/sitebuilder/ai. | Up to 25 generations listed with metadata. Usage stats displayed. Total count returned. | P0 |
| SB-071 | Empty AI generations | User has no AI generations | 1. Navigate to AI page. | Empty list. Usage stats show zero. | P1 |
| SB-072 | Unauthenticated access | Not signed in | 1. Navigate to AI page without auth. | Returns 401 “Unauthorized”. | P0 |