@cosmicdrift/kumiko-renderer 0.269.0 → 0.269.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-renderer",
|
|
3
|
-
"version": "0.269.
|
|
3
|
+
"version": "0.269.1",
|
|
4
4
|
"description": "Platform-agnostic React renderer for Kumiko screens. Contains the shared logic — primitives-contract, hooks, KumikoScreen, navigation & SSE abstractions — that any platform-specific renderer (web, native) composes. No DOM, no EventSource, no react-dom.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@cosmicdrift/kumiko-framework": "0.269.
|
|
19
|
-
"@cosmicdrift/kumiko-headless": "0.269.
|
|
18
|
+
"@cosmicdrift/kumiko-framework": "0.269.1",
|
|
19
|
+
"@cosmicdrift/kumiko-headless": "0.269.1",
|
|
20
20
|
"react": "^19.2.6",
|
|
21
21
|
"temporal-polyfill": "^0.3.2",
|
|
22
22
|
"zod": "^4.4.3"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@types/react-dom": "^19.2.3",
|
|
28
28
|
"jsdom": "^29.1.1",
|
|
29
29
|
"react-dom": "^19.2.6",
|
|
30
|
-
"@cosmicdrift/kumiko-locale-de": "0.269.
|
|
30
|
+
"@cosmicdrift/kumiko-locale-de": "0.269.1"
|
|
31
31
|
},
|
|
32
32
|
"repository": {
|
|
33
33
|
"type": "git",
|
|
@@ -337,6 +337,16 @@ describe("SecretMintBody confirm step (fw#2838)", () => {
|
|
|
337
337
|
},
|
|
338
338
|
};
|
|
339
339
|
|
|
340
|
+
// The confirm form mounts from an async post-mint update, so its form-store subscription can
|
|
341
|
+
// still be pending when the change fires — clicking before that subscription re-renders hits a disabled submit.
|
|
342
|
+
async function enterConfirmCodeAndSubmit(code: string): Promise<void> {
|
|
343
|
+
fireEvent.change(rtlScreen.getByLabelText(/code/i), { target: { value: code } });
|
|
344
|
+
await waitFor(() =>
|
|
345
|
+
expect(rtlScreen.getByTestId<HTMLButtonElement>("render-edit-submit").disabled).toBe(false),
|
|
346
|
+
);
|
|
347
|
+
fireEvent.click(rtlScreen.getByTestId("render-edit-submit"));
|
|
348
|
+
}
|
|
349
|
+
|
|
340
350
|
test("renders the confirm form instead of the acknowledge button, and submits the confirm form's own values merged with the carried mint-payload field", async () => {
|
|
341
351
|
const { dispatcher, writeCalls } = stubMultiWriteDispatcher({
|
|
342
352
|
"shop:write:token:mint": { token: "kpat_secret", id: "x", setupToken: "stok_123" },
|
|
@@ -351,8 +361,7 @@ describe("SecretMintBody confirm step (fw#2838)", () => {
|
|
|
351
361
|
// No bare acknowledge button — the confirm form takes its place.
|
|
352
362
|
expect(rtlScreen.queryByTestId("kumiko-screen-secret-mint-confirm")).toBeNull();
|
|
353
363
|
|
|
354
|
-
|
|
355
|
-
fireEvent.click(rtlScreen.getByTestId("render-edit-submit"));
|
|
364
|
+
await enterConfirmCodeAndSubmit("123456");
|
|
356
365
|
|
|
357
366
|
await waitFor(() =>
|
|
358
367
|
expect(writeCalls.some((c) => c.command === "shop:write:token:confirm")).toBe(true),
|
|
@@ -385,8 +394,7 @@ describe("SecretMintBody confirm step (fw#2838)", () => {
|
|
|
385
394
|
fireEvent.click(rtlScreen.getByTestId("render-edit-submit"));
|
|
386
395
|
await waitFor(() => expect(rtlScreen.queryByText("kpat_secret")).not.toBeNull());
|
|
387
396
|
|
|
388
|
-
|
|
389
|
-
fireEvent.click(rtlScreen.getByTestId("render-edit-submit"));
|
|
397
|
+
await enterConfirmCodeAndSubmit("123456");
|
|
390
398
|
|
|
391
399
|
await waitFor(() =>
|
|
392
400
|
expect(rtlScreen.queryByTestId("kumiko-screen-secret-mint-done")).not.toBeNull(),
|