@activate-core/test-forge 0.17.0 → 0.18.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.
@@ -114,6 +114,29 @@ export function checkTestGates(content, _ext, ctx) {
114
114
  }
115
115
  }
116
116
  }
117
+ // F12 — "same host" is not a reason to abandon a dependency. A skip that
118
+ // blames the dependency for sharing a hostname with the app, without saying
119
+ // what else was tried, is the generator giving up on a stub it could have
120
+ // scoped. A service on another PORT is a different origin; one under its own
121
+ // PATH prefix is separable too; failing both, a predicate on the request
122
+ // itself usually is. Left unchecked this costs whole areas: sixty-four checks
123
+ // in one journey skipped on this wording alone, against a dependency sitting
124
+ // on a plainly different port.
125
+ //
126
+ // The rule still allows the genuine case — a dependency that truly cannot be
127
+ // told apart — but the reason has to show the work: name the port, the path,
128
+ // or the request property you checked.
129
+ {
130
+ const sameHost = /\b(?:skip|fixme)\s*\([^)]{0,400}?same\s+host(?:name)?[^)]{0,400}?\)/is;
131
+ const showedWork = /\b(?:port|origin|path\s*prefix|prefix|resource\s*type|header|predicate)\b/i;
132
+ const m = content.match(sameHost);
133
+ if (m && !showedWork.test(m[0])) {
134
+ return ('a test is skipped because the dependency "shares a host" with the app, ' +
135
+ 'without saying what else was checked — a different port is a different ' +
136
+ 'origin, and a path prefix or a request predicate usually separates them ' +
137
+ 'too; scope the stub to one of those, or name the ones you ruled out');
138
+ }
139
+ }
117
140
  // F10 — selector grounding: a RUNNABLE (non-skipped) UI test must not lean
118
141
  // on a guessed selector. Unchecked, the generator invents plausible
119
142
  // data-testids that time out at runtime — the journey is never really
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activate-core/test-forge",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "description": "AI-powered QA automation. Scans a project, drafts journey docs, and generates seeded Jest/Playwright tests. Works in any project, with any AI CLI.",
5
5
  "type": "module",
6
6
  "bin": {