@12-apps/payments-e2e 2.4.0 → 2.6.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.
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@12-apps/payments-e2e/manifest` — the SHARED wiring manifest.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this package has one at all
|
|
5
|
+
*
|
|
6
|
+
* `@12-apps/payments-backend`'s manifest narrows `e2e` away, correctly: the
|
|
7
|
+
* journeys ship HERE, and a manifest must not declare an entry another package
|
|
8
|
+
* exports. But the narrowing left the journeys declared by nobody. Hosts adopt
|
|
9
|
+
* them the way the README describes — implement the port, add two globs — which
|
|
10
|
+
* works and is invisible to `assemble()`: a host that never adopts them looks
|
|
11
|
+
* exactly like a host that did, and a scenario added in a later release reaches
|
|
12
|
+
* a consumer only if someone thinks to look.
|
|
13
|
+
*
|
|
14
|
+
* That is precisely the failure the `e2e` capability exists to convert into a
|
|
15
|
+
* refusal. The contract's own note on `world` records both silent modes, and
|
|
16
|
+
* both have happened in this estate: a blank `featuresRoot` compiles every
|
|
17
|
+
* spec under `node_modules`, where the runner's `testIgnore` skips them and the
|
|
18
|
+
* suite passes GREEN with zero tests; and a shipped world nobody adopts is a
|
|
19
|
+
* few hundred lines of journeys re-derived by hand in the host, undiscovered —
|
|
20
|
+
* the documented fate of `defineAuthWorld` on its first host adoption.
|
|
21
|
+
*
|
|
22
|
+
* Declaring makes a host BIND the world (with the `featuresRoot` its compiled
|
|
23
|
+
* specs land under) or decline it in writing. Either way the wiring report
|
|
24
|
+
* answers "does this host run the payment journeys?", which is a question
|
|
25
|
+
* nothing could answer before.
|
|
26
|
+
*
|
|
27
|
+
* ## Two manifests, matching the two OPT-IN worlds
|
|
28
|
+
*
|
|
29
|
+
* The checkout journeys and the PLATFORM-OPERATIONS journeys are a separate
|
|
30
|
+
* port and a separate glob triple on purpose — `platform-world.ts` records
|
|
31
|
+
* that folding them into `PaymentsWorld` would have broken every
|
|
32
|
+
* checkout-only consumer. Two manifests keep that split expressible: a host
|
|
33
|
+
* running checkout journeys and not platform ones binds the first and declines
|
|
34
|
+
* the second, in writing, rather than silently getting neither.
|
|
35
|
+
*
|
|
36
|
+
* ## Untyped pure data, like its sibling
|
|
37
|
+
*
|
|
38
|
+
* `payments/no-host-imports` forbids a `@12-apps/wiring` import anywhere in
|
|
39
|
+
* this package tree, type-only included — the payments packages must vendor
|
|
40
|
+
* into a repo that has no wiring contract at all. The producer assertions run
|
|
41
|
+
* along the dependency edge that DOES exist, in the wiring suite's
|
|
42
|
+
* `payments-manifest.test.ts`, exactly as payments-backend's do.
|
|
43
|
+
*
|
|
44
|
+
* There is no `observability` here and none is owed: the capability is
|
|
45
|
+
* mandatory only for manifests with a RUNTIME half, and journeys ship no
|
|
46
|
+
* running code into a host — they are compiled and executed by the host's own
|
|
47
|
+
* Playwright.
|
|
48
|
+
*/
|
|
49
|
+
/** The buyer's checkout journeys. */
|
|
50
|
+
export declare const paymentsE2eManifest: {
|
|
51
|
+
readonly name: "@12-apps/payments-e2e";
|
|
52
|
+
readonly contract: 1;
|
|
53
|
+
readonly e2e: {
|
|
54
|
+
readonly entry: "@12-apps/payments-e2e";
|
|
55
|
+
readonly world: {
|
|
56
|
+
readonly factory: "definePaymentsWorld";
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
/** The platform-operations journeys: the Connect consult and the homologação. */
|
|
61
|
+
export declare const paymentsPlatformE2eManifest: {
|
|
62
|
+
readonly name: "@12-apps/payments-platform-e2e";
|
|
63
|
+
readonly contract: 1;
|
|
64
|
+
readonly e2e: {
|
|
65
|
+
readonly entry: "@12-apps/payments-e2e";
|
|
66
|
+
readonly world: {
|
|
67
|
+
readonly factory: "definePaymentsPlatformWorld";
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,qCAAqC;AACrC,eAAO,MAAM,mBAAmB;;;;;;;;;CAOtB,CAAC;AAEX,iFAAiF;AACjF,eAAO,MAAM,2BAA2B;;;;;;;;;CAO9B,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@12-apps/payments-e2e/manifest` — the SHARED wiring manifest.
|
|
3
|
+
*
|
|
4
|
+
* ## Why this package has one at all
|
|
5
|
+
*
|
|
6
|
+
* `@12-apps/payments-backend`'s manifest narrows `e2e` away, correctly: the
|
|
7
|
+
* journeys ship HERE, and a manifest must not declare an entry another package
|
|
8
|
+
* exports. But the narrowing left the journeys declared by nobody. Hosts adopt
|
|
9
|
+
* them the way the README describes — implement the port, add two globs — which
|
|
10
|
+
* works and is invisible to `assemble()`: a host that never adopts them looks
|
|
11
|
+
* exactly like a host that did, and a scenario added in a later release reaches
|
|
12
|
+
* a consumer only if someone thinks to look.
|
|
13
|
+
*
|
|
14
|
+
* That is precisely the failure the `e2e` capability exists to convert into a
|
|
15
|
+
* refusal. The contract's own note on `world` records both silent modes, and
|
|
16
|
+
* both have happened in this estate: a blank `featuresRoot` compiles every
|
|
17
|
+
* spec under `node_modules`, where the runner's `testIgnore` skips them and the
|
|
18
|
+
* suite passes GREEN with zero tests; and a shipped world nobody adopts is a
|
|
19
|
+
* few hundred lines of journeys re-derived by hand in the host, undiscovered —
|
|
20
|
+
* the documented fate of `defineAuthWorld` on its first host adoption.
|
|
21
|
+
*
|
|
22
|
+
* Declaring makes a host BIND the world (with the `featuresRoot` its compiled
|
|
23
|
+
* specs land under) or decline it in writing. Either way the wiring report
|
|
24
|
+
* answers "does this host run the payment journeys?", which is a question
|
|
25
|
+
* nothing could answer before.
|
|
26
|
+
*
|
|
27
|
+
* ## Two manifests, matching the two OPT-IN worlds
|
|
28
|
+
*
|
|
29
|
+
* The checkout journeys and the PLATFORM-OPERATIONS journeys are a separate
|
|
30
|
+
* port and a separate glob triple on purpose — `platform-world.ts` records
|
|
31
|
+
* that folding them into `PaymentsWorld` would have broken every
|
|
32
|
+
* checkout-only consumer. Two manifests keep that split expressible: a host
|
|
33
|
+
* running checkout journeys and not platform ones binds the first and declines
|
|
34
|
+
* the second, in writing, rather than silently getting neither.
|
|
35
|
+
*
|
|
36
|
+
* ## Untyped pure data, like its sibling
|
|
37
|
+
*
|
|
38
|
+
* `payments/no-host-imports` forbids a `@12-apps/wiring` import anywhere in
|
|
39
|
+
* this package tree, type-only included — the payments packages must vendor
|
|
40
|
+
* into a repo that has no wiring contract at all. The producer assertions run
|
|
41
|
+
* along the dependency edge that DOES exist, in the wiring suite's
|
|
42
|
+
* `payments-manifest.test.ts`, exactly as payments-backend's do.
|
|
43
|
+
*
|
|
44
|
+
* There is no `observability` here and none is owed: the capability is
|
|
45
|
+
* mandatory only for manifests with a RUNTIME half, and journeys ship no
|
|
46
|
+
* running code into a host — they are compiled and executed by the host's own
|
|
47
|
+
* Playwright.
|
|
48
|
+
*/
|
|
49
|
+
/** The buyer's checkout journeys. */
|
|
50
|
+
export const paymentsE2eManifest = {
|
|
51
|
+
name: '@12-apps/payments-e2e',
|
|
52
|
+
contract: 1,
|
|
53
|
+
e2e: {
|
|
54
|
+
entry: '@12-apps/payments-e2e',
|
|
55
|
+
world: { factory: 'definePaymentsWorld' },
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
/** The platform-operations journeys: the Connect consult and the homologação. */
|
|
59
|
+
export const paymentsPlatformE2eManifest = {
|
|
60
|
+
name: '@12-apps/payments-platform-e2e',
|
|
61
|
+
contract: 1,
|
|
62
|
+
e2e: {
|
|
63
|
+
entry: '@12-apps/payments-e2e',
|
|
64
|
+
world: { factory: 'definePaymentsPlatformWorld' },
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/manifest/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE;QACH,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE;KAC1C;CACO,CAAC;AAEX,iFAAiF;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,gCAAgC;IACtC,QAAQ,EAAE,CAAC;IACX,GAAG,EAAE;QACH,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE;KAClD;CACO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@12-apps/payments-e2e",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"sideEffects": [
|
|
6
|
+
"**/steps-platform/**",
|
|
7
|
+
"**/steps/**"
|
|
8
|
+
],
|
|
5
9
|
"description": "The payments buyer journeys, as Gherkin a host runs against its own app",
|
|
6
10
|
"repository": {
|
|
7
11
|
"type": "git",
|
|
@@ -19,6 +23,10 @@
|
|
|
19
23
|
"types": "./dist/index.d.ts",
|
|
20
24
|
"default": "./dist/index.js"
|
|
21
25
|
},
|
|
26
|
+
"./manifest": {
|
|
27
|
+
"types": "./dist/manifest/index.d.ts",
|
|
28
|
+
"default": "./dist/manifest/index.js"
|
|
29
|
+
},
|
|
22
30
|
"./package.json": "./package.json"
|
|
23
31
|
},
|
|
24
32
|
"scripts": {
|
|
@@ -33,8 +41,8 @@
|
|
|
33
41
|
"playwright-bdd": ">=8.0.0"
|
|
34
42
|
},
|
|
35
43
|
"devDependencies": {
|
|
36
|
-
"@12-apps/eslint-config": "^1.
|
|
37
|
-
"@12-apps/typescript-config": "^1.
|
|
44
|
+
"@12-apps/eslint-config": "^1.22.0",
|
|
45
|
+
"@12-apps/typescript-config": "^1.21.0",
|
|
38
46
|
"@playwright/test": "^1.56.1",
|
|
39
47
|
"playwright-bdd": "^8.4.1",
|
|
40
48
|
"typescript": "5.9.2"
|