@sun-asterisk/sungen 3.2.12-beta.10 → 3.2.12-beta.11
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.
|
@@ -177,12 +177,20 @@ create-test.
|
|
|
177
177
|
## Cross-artifact check — testcase ↔ data agree
|
|
178
178
|
|
|
179
179
|
`data validate` checks the data alone; **`sungen data crosscheck`** checks the testcase and its data
|
|
180
|
-
AGREE
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
180
|
+
AGREE **and are COMPLETE**: no dangling `{{var}}`; a cross-screen `shared` dataset is identical across
|
|
181
|
+
the journey; a declared state-precondition is surfaced; **and — even when you author `@cases` by hand
|
|
182
|
+
instead of merging `data gen` — the authored values COVER the BVA the field-map's constraints require
|
|
183
|
+
and the login experience checklist**:
|
|
184
|
+
- **`BVA_UNCOVERED`** — a bounded dimension is missing a boundary value. Classic miss: `email
|
|
185
|
+
minLength: 5` → you must have an email of length **4 (invalid), 5, 6**; a URL/code of length 5 does
|
|
186
|
+
NOT count (matched by type). Add the missing values (the exact BVA is in `data gen`'s output) or waive.
|
|
187
|
+
- **`EXPERIENCE_UNCOVERED`** — a login/auth unit is missing credential-state scenarios: **soft-deleted**,
|
|
188
|
+
locked, unverified, password-expired, **valid-with-surrounding-whitespace** (trim → accept). Add each
|
|
189
|
+
(a seeded account in that state) or waive per spec.
|
|
190
|
+
|
|
191
|
+
Treat these as MUST-ADDRESS in the create-test loop — they are exactly the gaps a QA reviewer catches.
|
|
192
|
+
Together `data validate` + `data crosscheck` are the **Data Gate + Cross-artifact + Coverage Gate** (the
|
|
193
|
+
`data-only` profile). Every `data gen` also stamps a `_fingerprint` (catalog+generator+context hash).
|
|
186
194
|
|
|
187
195
|
## Boundary completeness + trim
|
|
188
196
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sun-asterisk/sungen",
|
|
3
|
-
"version": "3.2.12-beta.
|
|
3
|
+
"version": "3.2.12-beta.11",
|
|
4
4
|
"description": "Deterministic E2E Test Compiler - Gherkin + Selectors → Playwright tests",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@babel/types": "^7.28.5",
|
|
40
40
|
"@cucumber/gherkin": "^37.0.0",
|
|
41
41
|
"@cucumber/messages": "^31.0.0",
|
|
42
|
-
"@sungen/driver-data-factory": "3.2.12-beta.
|
|
43
|
-
"@sungen/driver-ui": "3.2.12-beta.
|
|
42
|
+
"@sungen/driver-data-factory": "3.2.12-beta.11",
|
|
43
|
+
"@sungen/driver-ui": "3.2.12-beta.11",
|
|
44
44
|
"chalk": "^5.6.2",
|
|
45
45
|
"commander": "^14.0.2",
|
|
46
46
|
"dotenv": "^17.2.3",
|
|
@@ -177,12 +177,20 @@ create-test.
|
|
|
177
177
|
## Cross-artifact check — testcase ↔ data agree
|
|
178
178
|
|
|
179
179
|
`data validate` checks the data alone; **`sungen data crosscheck`** checks the testcase and its data
|
|
180
|
-
AGREE
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
180
|
+
AGREE **and are COMPLETE**: no dangling `{{var}}`; a cross-screen `shared` dataset is identical across
|
|
181
|
+
the journey; a declared state-precondition is surfaced; **and — even when you author `@cases` by hand
|
|
182
|
+
instead of merging `data gen` — the authored values COVER the BVA the field-map's constraints require
|
|
183
|
+
and the login experience checklist**:
|
|
184
|
+
- **`BVA_UNCOVERED`** — a bounded dimension is missing a boundary value. Classic miss: `email
|
|
185
|
+
minLength: 5` → you must have an email of length **4 (invalid), 5, 6**; a URL/code of length 5 does
|
|
186
|
+
NOT count (matched by type). Add the missing values (the exact BVA is in `data gen`'s output) or waive.
|
|
187
|
+
- **`EXPERIENCE_UNCOVERED`** — a login/auth unit is missing credential-state scenarios: **soft-deleted**,
|
|
188
|
+
locked, unverified, password-expired, **valid-with-surrounding-whitespace** (trim → accept). Add each
|
|
189
|
+
(a seeded account in that state) or waive per spec.
|
|
190
|
+
|
|
191
|
+
Treat these as MUST-ADDRESS in the create-test loop — they are exactly the gaps a QA reviewer catches.
|
|
192
|
+
Together `data validate` + `data crosscheck` are the **Data Gate + Cross-artifact + Coverage Gate** (the
|
|
193
|
+
`data-only` profile). Every `data gen` also stamps a `_fingerprint` (catalog+generator+context hash).
|
|
186
194
|
|
|
187
195
|
## Boundary completeness + trim
|
|
188
196
|
|