punchout-simulator 0.7.0 → 0.7.1

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 CHANGED
@@ -167,6 +167,12 @@ SetupRequest → catalog → cart → OrderRequest → OrderResponse. The **Sess
167
167
  - **inspect** — view a previously ordered item read-only (`operation="inspect"`),
168
168
  carrying that item (or the whole source cart) as `ItemOut`.
169
169
 
170
+ The built-in **mock supplier honours these on the receiving side too**: an
171
+ `edit` pre-fills the catalog quantities from the carried `ItemOut` (items it
172
+ doesn't list appear as extra "from cart" rows), and an `inspect` shows the
173
+ item(s) read-only and returns them unchanged — so the full round-trip is
174
+ exercisable end-to-end against the built-in mock.
175
+
170
176
  Connections/Buyers/Suppliers/Products/Profiles remain under **Configure** — you set
171
177
  them up there, then run them from **Sessions**.
172
178
 
@@ -94,13 +94,34 @@ var PROFILE_PRESETS = [
94
94
  shipToInSetup: false,
95
95
  contactInSetup: false
96
96
  },
97
+ // Jaggaer (formerly SciQuest) is observed sending TWO different UserAgent
98
+ // strings in the wild — the modern "JAGGAER" and the legacy "SciQuest" — so we
99
+ // ship both presets. They are identical except for name + userAgent, letting
100
+ // you faithfully reproduce whichever tenant you're testing against. DTD 1.2.011
101
+ // is confirmed on real OrderRequests for both; setup requests are assumed to
102
+ // use the same version (set as `default`, easily overridden per document type).
97
103
  {
98
104
  id: "jaggaer",
99
- name: "JAGGAER",
105
+ name: "Jaggaer",
100
106
  platform: "Jaggaer",
101
107
  builtin: true,
102
- dtdVersions: { default: "1.2.021" },
103
- userAgent: "JAGGAER Procurement",
108
+ dtdVersions: { default: "1.2.011" },
109
+ userAgent: "JAGGAER",
110
+ setupOperation: "create",
111
+ attachmentEncoding: "binary",
112
+ cartReturnTransport: "cxml-urlencoded",
113
+ extrinsics: [],
114
+ addressMode: "full",
115
+ shipToInSetup: false,
116
+ contactInSetup: false
117
+ },
118
+ {
119
+ id: "jaggaer-sciquest",
120
+ name: "Jaggaer (SciQuest)",
121
+ platform: "Jaggaer",
122
+ builtin: true,
123
+ dtdVersions: { default: "1.2.011" },
124
+ userAgent: "SciQuest",
104
125
  setupOperation: "create",
105
126
  attachmentEncoding: "binary",
106
127
  cartReturnTransport: "cxml-urlencoded",
@@ -553,6 +574,12 @@ function migrateProfiles(data) {
553
574
  p.shipToInSetup ??= preset?.shipToInSetup ?? false;
554
575
  p.contactInSetup ??= preset?.contactInSetup ?? false;
555
576
  }
577
+ const jaggaer = data.profiles.find((p) => p.id === "jaggaer" && p.builtin);
578
+ if (jaggaer && jaggaer.name === "JAGGAER" && jaggaer.userAgent === "JAGGAER Procurement") {
579
+ jaggaer.name = "Jaggaer";
580
+ jaggaer.userAgent = "JAGGAER";
581
+ if (jaggaer.dtdVersions?.default === "1.2.021") jaggaer.dtdVersions.default = "1.2.011";
582
+ }
556
583
  }
557
584
  function migrateClassifications(data) {
558
585
  for (const list of data.productLists) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "punchout-simulator",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "A developer tool for testing cXML PunchOut integrations by acting as a virtual counterparty (virtual buyer or virtual supplier).",
5
5
  "keywords": [
6
6
  "punchout",