executable-stories-formatters 1.5.0 → 1.8.0
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/README.md +11 -0
- package/dist/adapters.d.cts +1 -1
- package/dist/adapters.d.ts +1 -1
- package/dist/cli.js +6035 -5474
- package/dist/cli.js.map +1 -1
- package/dist/{index-Cfs2L3di.d.cts → index-CmEmALo3.d.cts} +6 -0
- package/dist/{index-Cfs2L3di.d.ts → index-CmEmALo3.d.ts} +6 -0
- package/dist/index.cjs +6505 -6161
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +34 -5
- package/dist/index.d.ts +34 -5
- package/dist/index.js +6499 -6158
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/schemas/examples/dotnet.json +32 -2
- package/schemas/examples/junit5.json +32 -2
- package/schemas/raw-run.schema.json +32 -0
- package/templates/astro-thin/executable-stories.config.mjs +19 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "executable-stories-formatters",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Cucumber-compatible report formats (HTML, Markdown, JUnit XML, Cucumber JSON) for executable-stories test results.",
|
|
5
5
|
"author": "Jag Reehal <jag@jagreehal.com>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"yaml": "^2.9.0",
|
|
63
63
|
"react": "^19.2.7",
|
|
64
64
|
"react-dom": "^19.2.7",
|
|
65
|
-
"executable-stories-react": "0.
|
|
65
|
+
"executable-stories-react": "0.8.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
68
|
"@faker-js/faker": "^10.4.0",
|
|
@@ -117,7 +117,18 @@
|
|
|
117
117
|
"steps": [
|
|
118
118
|
{
|
|
119
119
|
"keyword": "Given",
|
|
120
|
-
"text": "a cart with 2 items totaling $59.98"
|
|
120
|
+
"text": "a cart with 2 items totaling $59.98",
|
|
121
|
+
"docs": [
|
|
122
|
+
{
|
|
123
|
+
"kind": "state",
|
|
124
|
+
"label": "Basket",
|
|
125
|
+
"value": {
|
|
126
|
+
"items": 2,
|
|
127
|
+
"total": 59.98
|
|
128
|
+
},
|
|
129
|
+
"phase": "runtime"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
121
132
|
},
|
|
122
133
|
{
|
|
123
134
|
"keyword": "When",
|
|
@@ -125,7 +136,26 @@
|
|
|
125
136
|
},
|
|
126
137
|
{
|
|
127
138
|
"keyword": "Then",
|
|
128
|
-
"text": "the order is confirmed"
|
|
139
|
+
"text": "the order is confirmed",
|
|
140
|
+
"docs": [
|
|
141
|
+
{
|
|
142
|
+
"kind": "state",
|
|
143
|
+
"label": "Basket",
|
|
144
|
+
"value": {
|
|
145
|
+
"items": 0,
|
|
146
|
+
"total": 0,
|
|
147
|
+
"orderId": "ORD-1001"
|
|
148
|
+
},
|
|
149
|
+
"phase": "runtime"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"kind": "state",
|
|
153
|
+
"value": {
|
|
154
|
+
"emailQueue": 1
|
|
155
|
+
},
|
|
156
|
+
"phase": "runtime"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
129
159
|
},
|
|
130
160
|
{
|
|
131
161
|
"keyword": "And",
|
|
@@ -117,7 +117,18 @@
|
|
|
117
117
|
"steps": [
|
|
118
118
|
{
|
|
119
119
|
"keyword": "Given",
|
|
120
|
-
"text": "a cart with 2 items totaling $59.98"
|
|
120
|
+
"text": "a cart with 2 items totaling $59.98",
|
|
121
|
+
"docs": [
|
|
122
|
+
{
|
|
123
|
+
"kind": "state",
|
|
124
|
+
"label": "Basket",
|
|
125
|
+
"value": {
|
|
126
|
+
"items": 2,
|
|
127
|
+
"total": 59.98
|
|
128
|
+
},
|
|
129
|
+
"phase": "runtime"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
121
132
|
},
|
|
122
133
|
{
|
|
123
134
|
"keyword": "When",
|
|
@@ -125,7 +136,26 @@
|
|
|
125
136
|
},
|
|
126
137
|
{
|
|
127
138
|
"keyword": "Then",
|
|
128
|
-
"text": "the order is confirmed"
|
|
139
|
+
"text": "the order is confirmed",
|
|
140
|
+
"docs": [
|
|
141
|
+
{
|
|
142
|
+
"kind": "state",
|
|
143
|
+
"label": "Basket",
|
|
144
|
+
"value": {
|
|
145
|
+
"items": 0,
|
|
146
|
+
"total": 0,
|
|
147
|
+
"orderId": "ORD-1001"
|
|
148
|
+
},
|
|
149
|
+
"phase": "runtime"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"kind": "state",
|
|
153
|
+
"value": {
|
|
154
|
+
"emailQueue": 1
|
|
155
|
+
},
|
|
156
|
+
"phase": "runtime"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
129
159
|
},
|
|
130
160
|
{
|
|
131
161
|
"keyword": "And",
|
|
@@ -727,6 +727,38 @@
|
|
|
727
727
|
],
|
|
728
728
|
"additionalProperties": false
|
|
729
729
|
},
|
|
730
|
+
{
|
|
731
|
+
"type": "object",
|
|
732
|
+
"description": "State snapshot captured at a step (data storyboard frame; diffed label-to-label across steps).",
|
|
733
|
+
"properties": {
|
|
734
|
+
"kind": {
|
|
735
|
+
"const": "state"
|
|
736
|
+
},
|
|
737
|
+
"label": {
|
|
738
|
+
"type": "string",
|
|
739
|
+
"description": "Entity name ('Basket') \u2014 diff identity across steps."
|
|
740
|
+
},
|
|
741
|
+
"value": {
|
|
742
|
+
"description": "JSON-serializable snapshot of the state at this step."
|
|
743
|
+
},
|
|
744
|
+
"phase": {
|
|
745
|
+
"$ref": "#/$defs/DocPhase"
|
|
746
|
+
},
|
|
747
|
+
"children": {
|
|
748
|
+
"type": "array",
|
|
749
|
+
"items": {
|
|
750
|
+
"$ref": "#/$defs/DocEntry"
|
|
751
|
+
},
|
|
752
|
+
"description": "Nested child doc entries for grouping."
|
|
753
|
+
}
|
|
754
|
+
},
|
|
755
|
+
"required": [
|
|
756
|
+
"kind",
|
|
757
|
+
"value",
|
|
758
|
+
"phase"
|
|
759
|
+
],
|
|
760
|
+
"additionalProperties": false
|
|
761
|
+
},
|
|
730
762
|
{
|
|
731
763
|
"type": "object",
|
|
732
764
|
"description": "Custom documentation entry with arbitrary data.",
|
|
@@ -32,6 +32,25 @@ export default defineExecutableStories({
|
|
|
32
32
|
// { name: 'api', label: 'API', source: '../apps/api/reports/raw-run.json' },
|
|
33
33
|
// ],
|
|
34
34
|
|
|
35
|
+
// Audience lenses (optional): each view mounts a filtered, re-grouped index
|
|
36
|
+
// at its own URL — same tests, a different lens per audience. Tag scenarios
|
|
37
|
+
// in your tests (e.g. tags: ['audience:stakeholder']) and filter on them:
|
|
38
|
+
// views: [
|
|
39
|
+
// { base: '/for/product', include: { tags: ['audience:stakeholder'] }, groupBy: 'tag' },
|
|
40
|
+
// { base: '/for/design', include: { tags: ['storyboard'] } },
|
|
41
|
+
// { base: '/for/support', include: { tags: ['support'] } },
|
|
42
|
+
// ],
|
|
43
|
+
|
|
44
|
+
// Journeys are on by default at /journeys: tag scenarios with
|
|
45
|
+
// `journey:<id>:<order>` (e.g. tags: ['journey:guest-checkout:1']) and each
|
|
46
|
+
// id becomes an ordered multi-scenario walkthrough page.
|
|
47
|
+
// journeysBase: '/journeys',
|
|
48
|
+
|
|
49
|
+
// The UI-state catalog is on by default at /states: tag scenarios with
|
|
50
|
+
// `state:<name>` (plus optional `viewport:mobile` / `viewport:desktop`) and
|
|
51
|
+
// they appear as a thumbnail grid, viewport variants side by side.
|
|
52
|
+
// statesBase: '/states',
|
|
53
|
+
|
|
35
54
|
// Theme the story pages (optional). `preset` picks a built-in palette
|
|
36
55
|
// ('default' | 'terminal' | 'minimal' | 'vibrant'); `accent` is a shorthand;
|
|
37
56
|
// `tokens` overrides any individual token (accent, pass, fail, warn, fg,
|