Add dev QA smoke fixture schemas

This commit is contained in:
2026-01-18 12:47:43 +00:00
parent 1261c3e44d
commit 37442350cd
8 changed files with 335 additions and 0 deletions

13
fixtures/dev-qa/README.md Normal file
View File

@@ -0,0 +1,13 @@
# Dev/QA Smoke Fixture Schemas
These JSON schemas provide lightweight smoke-test coverage for each JSON UI component category.
Each file is a standalone page schema that can be loaded in dev or QA to verify rendering.
## Categories
- `layout.json`
- `input.json`
- `display.json`
- `navigation.json`
- `feedback.json`
- `data.json`
- `custom.json`

View File

@@ -0,0 +1,40 @@
{
"id": "smoke-custom",
"name": "Smoke Custom",
"layout": {
"type": "single"
},
"dataSources": [],
"components": [
{
"id": "custom-section",
"type": "section",
"children": [
{
"id": "custom-heading",
"type": "Heading",
"props": {
"level": 3,
"children": "Custom Component Smoke Check"
}
},
{
"id": "custom-data-card",
"type": "DataCard",
"props": {
"title": "QA Metric",
"value": "99%",
"icon": "TrendUp"
}
},
{
"id": "custom-search",
"type": "SearchInput",
"props": {
"placeholder": "Search QA fixtures..."
}
}
]
}
]
}

46
fixtures/dev-qa/data.json Normal file
View File

@@ -0,0 +1,46 @@
{
"id": "smoke-data",
"name": "Smoke Data",
"layout": {
"type": "single"
},
"dataSources": [],
"components": [
{
"id": "data-section",
"type": "section",
"children": [
{
"id": "data-heading",
"type": "Heading",
"props": {
"level": 3,
"children": "Data Smoke Check"
}
},
{
"id": "data-list",
"type": "List",
"props": {
"items": ["QA record A", "QA record B", "QA record C"],
"emptyMessage": "No QA records"
}
},
{
"id": "data-table",
"type": "Table",
"props": {
"columns": [
{ "key": "name", "header": "Name" },
{ "key": "status", "header": "Status" }
],
"data": [
{ "name": "Smoke Run", "status": "Pass" },
{ "name": "Regression", "status": "Pending" }
]
}
}
]
}
]
}

View File

@@ -0,0 +1,42 @@
{
"id": "smoke-display",
"name": "Smoke Display",
"layout": {
"type": "single"
},
"dataSources": [],
"components": [
{
"id": "display-section",
"type": "section",
"children": [
{
"id": "display-heading",
"type": "Heading",
"props": {
"level": 3,
"children": "Display Smoke Check"
}
},
{
"id": "display-text",
"type": "Text",
"props": {
"children": "Checks text, badges, and separators for QA verification."
}
},
{
"id": "display-badge",
"type": "Badge",
"props": {
"children": "QA"
}
},
{
"id": "display-divider",
"type": "Divider"
}
]
}
]
}

View File

@@ -0,0 +1,40 @@
{
"id": "smoke-feedback",
"name": "Smoke Feedback",
"layout": {
"type": "single"
},
"dataSources": [],
"components": [
{
"id": "feedback-section",
"type": "section",
"children": [
{
"id": "feedback-heading",
"type": "Heading",
"props": {
"level": 3,
"children": "Feedback Smoke Check"
}
},
{
"id": "feedback-alert",
"type": "Alert",
"props": {
"variant": "info",
"children": "QA info alert rendered."
}
},
{
"id": "feedback-status",
"type": "StatusBadge",
"props": {
"status": "active",
"children": "Active"
}
}
]
}
]
}

View File

@@ -0,0 +1,45 @@
{
"id": "smoke-input",
"name": "Smoke Input",
"layout": {
"type": "single"
},
"dataSources": [],
"components": [
{
"id": "input-section",
"type": "section",
"children": [
{
"id": "input-heading",
"type": "Heading",
"props": {
"level": 2,
"children": "Input Smoke Check"
}
},
{
"id": "input-control",
"type": "Input",
"props": {
"placeholder": "Enter QA value..."
}
},
{
"id": "input-toggle",
"type": "Switch",
"props": {
"checked": true
}
},
{
"id": "input-button",
"type": "Button",
"props": {
"children": "Submit"
}
}
]
}
]
}

View File

@@ -0,0 +1,67 @@
{
"id": "smoke-layout",
"name": "Smoke Layout",
"layout": {
"type": "single"
},
"dataSources": [],
"components": [
{
"id": "layout-container",
"type": "Container",
"props": {
"className": "py-6"
},
"children": [
{
"id": "layout-stack",
"type": "Stack",
"props": {
"gap": 4
},
"children": [
{
"id": "layout-card",
"type": "Card",
"children": [
{
"id": "layout-card-header",
"type": "CardHeader",
"children": [
{
"id": "layout-card-title",
"type": "CardTitle",
"props": {
"children": "Layout Smoke Check"
}
},
{
"id": "layout-card-description",
"type": "CardDescription",
"props": {
"children": "Ensures layout primitives render in QA."
}
}
]
},
{
"id": "layout-card-content",
"type": "CardContent",
"children": [
{
"id": "layout-card-text",
"type": "Text",
"props": {
"children": "This card is wrapped in Container and Stack components."
}
}
]
}
]
}
]
}
]
}
]
}

View File

@@ -0,0 +1,42 @@
{
"id": "smoke-navigation",
"name": "Smoke Navigation",
"layout": {
"type": "single"
},
"dataSources": [],
"components": [
{
"id": "navigation-section",
"type": "section",
"children": [
{
"id": "navigation-heading",
"type": "Heading",
"props": {
"level": 3,
"children": "Navigation Smoke Check"
}
},
{
"id": "navigation-link",
"type": "Link",
"props": {
"href": "/qa",
"children": "Go to QA overview"
}
},
{
"id": "navigation-breadcrumb",
"type": "Breadcrumb",
"props": {
"items": [
{ "label": "Home", "href": "/" },
{ "label": "QA" }
]
}
}
]
}
]
}