@sdods/core 0.3.1 → 0.3.2
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/dist/.tsbuildinfo +1 -1
- package/dist/fixtures/test.js +14 -4
- package/package.json +3 -3
package/dist/fixtures/test.js
CHANGED
|
@@ -90,9 +90,15 @@ export const test = base.extend({
|
|
|
90
90
|
],
|
|
91
91
|
// ── test scope ──────────────────────────────────────────────────────────
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
93
|
+
* Automatic, and an explicit DEPENDENCY of `user` — which is what actually makes
|
|
94
|
+
* it decide before anything expensive happens.
|
|
95
|
+
*
|
|
96
|
+
* Declaration order alone does not: Playwright instantiates fixtures in
|
|
97
|
+
* dependency order, and `user` is pulled in by `storageState`, which the browser
|
|
98
|
+
* context needs, so the pool lease happened first regardless of where the gate
|
|
99
|
+
* sat in the object. An `@env:local @user:noconsent` scenario on staging failed
|
|
100
|
+
* with `No users with role "noconsent"` instead of skipping — the gate never got
|
|
101
|
+
* to run. Depending on it is the only ordering guarantee Playwright offers.
|
|
96
102
|
*
|
|
97
103
|
* `@env:`, `@skip:<browser>` and `@flag:` were validated at LINT time and had
|
|
98
104
|
* no runtime path whatsoever. That is the worst arrangement available: the
|
|
@@ -171,7 +177,11 @@ export const test = base.extend({
|
|
|
171
177
|
}
|
|
172
178
|
void apiContext;
|
|
173
179
|
},
|
|
174
|
-
|
|
180
|
+
// `$sdodsTagGate` first, and it is not unused: it is here to force the ordering.
|
|
181
|
+
// Leasing an account for a scenario that the tag gate is about to skip burns a
|
|
182
|
+
// pool slot, and on a role with no rows it throws before the skip can happen.
|
|
183
|
+
user: async ({ $sdodsTagGate, userPool, $tags }, use, testInfo) => {
|
|
184
|
+
void $sdodsTagGate;
|
|
175
185
|
const role = parseTagValue($tags, 'user');
|
|
176
186
|
await use(role ? await userPool.lease(role, testInfo.parallelIndex) : undefined);
|
|
177
187
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sdods/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "SDODS runtime: configuration, project registry, fixtures, step libraries, data providers, screenshot narratives and self-healing locators.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "SDODS <admin@sdods.com>",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"playwright-bdd": ">=9"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@sdods/contracts": "0.3.
|
|
45
|
+
"@sdods/contracts": "0.3.2",
|
|
46
46
|
"@cucumber/gherkin": "^42.0.1",
|
|
47
47
|
"@cucumber/messages": "^34.2.1",
|
|
48
48
|
"@faker-js/faker": "^10.6.0",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"ts-morph": "^28.0.0",
|
|
59
59
|
"yaml": "^2.9.0",
|
|
60
60
|
"zod": "^4.5.4",
|
|
61
|
-
"@sdods/db": "0.3.
|
|
61
|
+
"@sdods/db": "0.3.2"
|
|
62
62
|
},
|
|
63
63
|
"homepage": "https://sdods.com",
|
|
64
64
|
"bugs": {
|