@prosopo/procaptcha-react 2.11.3 → 2.13.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.
Files changed (117) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +15 -15
  2. package/.turbo/turbo-build$colon$tsc.log +22 -22
  3. package/.turbo/turbo-build.log +16 -15
  4. package/CHANGELOG.md +79 -0
  5. package/dist/cjs/components/button.cjs +98 -0
  6. package/dist/cjs/components/captchaComponent.cjs +225 -0
  7. package/dist/cjs/components/captchaWidget.cjs +210 -0
  8. package/dist/cjs/components/collector.cjs +49 -0
  9. package/dist/cjs/components/index.cjs +15 -6
  10. package/dist/cjs/components/modal.cjs +39 -0
  11. package/dist/cjs/components/procaptcha.cjs +23 -0
  12. package/dist/cjs/components/procaptchaWidget.cjs +166 -0
  13. package/dist/cjs/index.cjs +15 -6
  14. package/dist/cjs/util/index.cjs +6 -4
  15. package/dist/components/button.d.ts +9 -0
  16. package/dist/components/button.d.ts.map +1 -0
  17. package/dist/components/button.js +98 -0
  18. package/dist/components/button.js.map +1 -0
  19. package/dist/components/{CaptchaComponent.d.ts → captchaComponent.d.ts} +5 -3
  20. package/dist/components/captchaComponent.d.ts.map +1 -0
  21. package/dist/components/captchaComponent.js +225 -0
  22. package/dist/components/captchaComponent.js.map +1 -0
  23. package/dist/components/{CaptchaWidget.d.ts → captchaWidget.d.ts} +3 -2
  24. package/dist/components/captchaWidget.d.ts.map +1 -0
  25. package/dist/components/captchaWidget.js +210 -0
  26. package/dist/components/captchaWidget.js.map +1 -0
  27. package/dist/components/collector.d.ts +5 -4
  28. package/dist/components/collector.d.ts.map +1 -1
  29. package/dist/components/collector.js +46 -24
  30. package/dist/components/collector.js.map +1 -1
  31. package/dist/components/index.d.ts +7 -5
  32. package/dist/components/index.d.ts.map +1 -1
  33. package/dist/components/index.js +8 -4
  34. package/dist/components/index.js.map +1 -1
  35. package/dist/components/modal.d.ts +14 -0
  36. package/dist/components/modal.d.ts.map +1 -0
  37. package/dist/components/modal.js +39 -0
  38. package/dist/components/modal.js.map +1 -0
  39. package/dist/components/procaptcha.d.ts +7 -0
  40. package/dist/components/procaptcha.d.ts.map +1 -0
  41. package/dist/components/procaptcha.js +22 -0
  42. package/dist/components/procaptcha.js.map +1 -0
  43. package/dist/components/procaptchaWidget.d.ts +7 -0
  44. package/dist/components/procaptchaWidget.d.ts.map +1 -0
  45. package/dist/components/procaptchaWidget.js +166 -0
  46. package/dist/components/procaptchaWidget.js.map +1 -0
  47. package/dist/index.js +8 -4
  48. package/dist/tests/button.unit.test.d.ts.map +1 -1
  49. package/dist/tests/button.unit.test.js +99 -50
  50. package/dist/tests/button.unit.test.js.map +1 -1
  51. package/dist/tests/captchaComponent.unit.test.d.ts.map +1 -1
  52. package/dist/tests/captchaComponent.unit.test.js +35 -13
  53. package/dist/tests/captchaComponent.unit.test.js.map +1 -1
  54. package/dist/tests/captchaWidget.unit.test.d.ts.map +1 -1
  55. package/dist/tests/captchaWidget.unit.test.js +125 -12
  56. package/dist/tests/captchaWidget.unit.test.js.map +1 -1
  57. package/dist/tests/collector.unit.test.d.ts.map +1 -1
  58. package/dist/tests/collector.unit.test.js +43 -10
  59. package/dist/tests/collector.unit.test.js.map +1 -1
  60. package/dist/tests/harness.d.ts +2 -0
  61. package/dist/tests/harness.d.ts.map +1 -1
  62. package/dist/tests/harness.js +7 -0
  63. package/dist/tests/harness.js.map +1 -1
  64. package/dist/tests/modal.unit.test.d.ts.map +1 -1
  65. package/dist/tests/modal.unit.test.js +45 -16
  66. package/dist/tests/modal.unit.test.js.map +1 -1
  67. package/dist/tests/procaptcha.unit.test.d.ts.map +1 -1
  68. package/dist/tests/procaptcha.unit.test.js +37 -15
  69. package/dist/tests/procaptcha.unit.test.js.map +1 -1
  70. package/dist/tests/procaptchaReact.test-d.js +8 -6
  71. package/dist/tests/procaptchaReact.test-d.js.map +1 -1
  72. package/dist/tests/procaptchaWidget.unit.test.d.ts.map +1 -1
  73. package/dist/tests/procaptchaWidget.unit.test.js +121 -96
  74. package/dist/tests/procaptchaWidget.unit.test.js.map +1 -1
  75. package/dist/tests/render.d.ts +6 -7
  76. package/dist/tests/render.d.ts.map +1 -1
  77. package/dist/tests/render.js +23 -30
  78. package/dist/tests/render.js.map +1 -1
  79. package/dist/util/index.d.ts +8 -7
  80. package/dist/util/index.d.ts.map +1 -1
  81. package/dist/util/index.js +6 -4
  82. package/dist/util/index.js.map +1 -1
  83. package/package.json +9 -14
  84. package/vite.test.config.ts +1 -2
  85. package/dist/cjs/_virtual/_rolldown/runtime.cjs +0 -23
  86. package/dist/cjs/components/Button.cjs +0 -81
  87. package/dist/cjs/components/CaptchaComponent.cjs +0 -171
  88. package/dist/cjs/components/CaptchaWidget.cjs +0 -129
  89. package/dist/cjs/components/Modal.cjs +0 -35
  90. package/dist/cjs/components/Procaptcha.cjs +0 -7
  91. package/dist/cjs/components/ProcaptchaWidget.cjs +0 -168
  92. package/dist/components/Button.d.ts +0 -11
  93. package/dist/components/Button.d.ts.map +0 -1
  94. package/dist/components/Button.js +0 -81
  95. package/dist/components/Button.js.map +0 -1
  96. package/dist/components/CaptchaComponent.d.ts.map +0 -1
  97. package/dist/components/CaptchaComponent.js +0 -171
  98. package/dist/components/CaptchaComponent.js.map +0 -1
  99. package/dist/components/CaptchaWidget.d.ts.map +0 -1
  100. package/dist/components/CaptchaWidget.js +0 -129
  101. package/dist/components/CaptchaWidget.js.map +0 -1
  102. package/dist/components/Modal.d.ts +0 -13
  103. package/dist/components/Modal.d.ts.map +0 -1
  104. package/dist/components/Modal.js +0 -33
  105. package/dist/components/Modal.js.map +0 -1
  106. package/dist/components/Procaptcha.d.ts +0 -4
  107. package/dist/components/Procaptcha.d.ts.map +0 -1
  108. package/dist/components/Procaptcha.js +0 -7
  109. package/dist/components/Procaptcha.js.map +0 -1
  110. package/dist/components/ProcaptchaWidget.d.ts +0 -4
  111. package/dist/components/ProcaptchaWidget.d.ts.map +0 -1
  112. package/dist/components/ProcaptchaWidget.js +0 -168
  113. package/dist/components/ProcaptchaWidget.js.map +0 -1
  114. package/dist/tests/setup.d.ts +0 -5
  115. package/dist/tests/setup.d.ts.map +0 -1
  116. package/dist/tests/setup.js +0 -3
  117. package/dist/tests/setup.js.map +0 -1
@@ -1,11 +1,9 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
1
  import { ModeEnum, } from "@prosopo/types";
3
2
  import { lightTheme } from "@prosopo/widget-skeleton";
4
- import { act } from "react";
5
- import { afterEach, beforeEach, describe, expect, test, vi, vitest, } from "vitest";
6
- import ProcaptchaWidget from "../components/ProcaptchaWidget.js";
3
+ import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
4
+ import { mountProcaptchaImageWidget, } from "../components/procaptchaWidget.js";
7
5
  import { challengeResponse, config, frictionless } from "./harness.js";
8
- import { asRgb, fire, mount } from "./render.js";
6
+ import { asRgb, fire, mount, settle } from "./render.js";
9
7
  const start = vi.fn(() => Promise.resolve());
10
8
  const cancel = vi.fn();
11
9
  const submit = vi.fn(() => Promise.resolve());
@@ -29,23 +27,33 @@ vi.mock("@prosopo/locale", async (importOriginal) => {
29
27
  const actual = await importOriginal();
30
28
  return {
31
29
  ...actual,
32
- useTranslation: () => ({ t: (key) => key, ready: true }),
30
+ createTranslator: () => ({
31
+ t: (key) => key,
32
+ isReady: () => true,
33
+ subscribe: () => () => undefined,
34
+ i18n: undefined,
35
+ }),
33
36
  loadI18next: (sync, language) => loadI18next(sync, language),
34
37
  };
35
38
  });
36
39
  let mounted;
40
+ let widget;
37
41
  const i18n = (language) => ({ language, changeLanguage });
38
42
  const render = (overrides = {}) => {
39
- mounted.render(_jsx(ProcaptchaWidget, { config: config(), callbacks: {}, i18n: undefined, ...overrides }));
43
+ widget = mountProcaptchaImageWidget(mounted.container, {
44
+ config: config(),
45
+ callbacks: {},
46
+ i18n: undefined,
47
+ ...overrides,
48
+ });
40
49
  };
41
50
  const openChallenge = () => ({
42
51
  challenge: challengeResponse(),
43
52
  solutions: [[]],
44
53
  });
45
- const setState = (next) => {
46
- act(() => {
47
- update?.(next);
48
- });
54
+ const setState = async (next) => {
55
+ update?.(next);
56
+ await settle();
49
57
  };
50
58
  const checkbox = () => {
51
59
  const element = mounted.container.querySelector('[data-cy="captcha-checkbox"]');
@@ -53,21 +61,22 @@ const checkbox = () => {
53
61
  throw new Error("expected the checkbox to be rendered");
54
62
  return element;
55
63
  };
56
- const modalText = () => document.querySelector(".prosopo-modalOuter")?.textContent ?? "";
57
- const flush = async () => {
58
- await act(async () => {
59
- await Promise.resolve();
60
- });
61
- };
64
+ const SURFACE_SELECTOR = '[data-cy="challenge-surface"]';
65
+ const PANEL_SELECTOR = '[data-cy="captcha-panel"]';
66
+ const spinner = () => mounted.container.querySelector('[role="status"]');
67
+ const modalText = () => document.querySelector(SURFACE_SELECTOR)?.textContent ?? "";
62
68
  beforeEach(() => {
63
69
  vi.clearAllMocks();
64
70
  managerArgs.length = 0;
65
71
  update = undefined;
66
72
  readHoneypot = undefined;
73
+ widget = undefined;
67
74
  start.mockImplementation(() => Promise.resolve());
68
75
  mounted = mount();
69
76
  });
70
77
  afterEach(() => {
78
+ widget?.destroy();
79
+ widget = undefined;
71
80
  mounted.unmount();
72
81
  vi.useRealTimers();
73
82
  });
@@ -82,12 +91,12 @@ describe("what the user sees at rest", () => {
82
91
  });
83
92
  test("keeps the modal closed until there is something to show", () => {
84
93
  render();
85
- const outer = document.querySelector(".prosopo-modalOuter");
94
+ const outer = document.querySelector(SURFACE_SELECTOR);
86
95
  expect(outer?.style.display).toBe("none");
87
96
  });
88
- test("says so when the modal opens with no challenge", () => {
97
+ test("says so when the modal opens with no challenge", async () => {
89
98
  render();
90
- setState({ showModal: true });
99
+ await setState({ showModal: true });
91
100
  expect(modalText()).toContain("No challenge set.");
92
101
  });
93
102
  test("shows no honeypot unless the provider asked for one", () => {
@@ -111,14 +120,14 @@ describe("invisible mode", () => {
111
120
  render(invisible());
112
121
  expect(mounted.container.querySelector(".image-captcha")).toBeNull();
113
122
  });
114
- test("stays silent rather than announcing a missing challenge", () => {
123
+ test("stays silent rather than announcing a missing challenge", async () => {
115
124
  render(invisible());
116
- setState({ showModal: true });
125
+ await setState({ showModal: true });
117
126
  expect(modalText()).toBe("");
118
127
  });
119
- test("still shows the challenge when one arrives", () => {
128
+ test("still shows the challenge when one arrives", async () => {
120
129
  render(invisible());
121
- setState({ showModal: true, ...openChallenge() });
130
+ await setState({ showModal: true, ...openChallenge() });
122
131
  expect(modalText()).toContain("WIDGET.SELECT_ALL");
123
132
  });
124
133
  });
@@ -143,6 +152,12 @@ describe("the honeypot", () => {
143
152
  render();
144
153
  expect(readHoneypot?.()).toBeUndefined();
145
154
  });
155
+ test("is removed from the page when the widget is destroyed", () => {
156
+ render({ frictionlessState: frictionless({ hp: btoa("dit dah") }) });
157
+ widget?.destroy();
158
+ widget = undefined;
159
+ expect(document.body.textContent).not.toContain("dit dah");
160
+ });
146
161
  });
147
162
  describe("clicking the checkbox", () => {
148
163
  test("starts the challenge where the user clicked", () => {
@@ -155,24 +170,25 @@ describe("clicking the checkbox", () => {
155
170
  fire(checkbox(), "click", { trusted: false });
156
171
  expect(start).not.toHaveBeenCalled();
157
172
  });
158
- test("only starts once while a start is still in flight", () => {
173
+ test("only starts once while a start is still in flight", async () => {
159
174
  let finish;
160
175
  start.mockImplementation(() => new Promise((resolve) => {
161
176
  finish = resolve;
162
177
  }));
163
178
  render();
164
179
  fire(checkbox(), "click", { clientX: 1, clientY: 1 });
165
- expect(mounted.container.querySelector('[role="status"]')).not.toBeNull();
180
+ await settle();
181
+ expect(spinner()).not.toBeNull();
166
182
  expect(start).toHaveBeenCalledTimes(1);
167
183
  finish?.();
168
184
  });
169
185
  test("shows the checkbox again once the start resolves", async () => {
170
186
  render();
171
187
  fire(checkbox(), "click");
172
- await flush();
188
+ await settle();
173
189
  expect(checkbox()).toBeDefined();
174
190
  });
175
- test("the spinner takes over focus from the box it replaced", () => {
191
+ test("the spinner takes over focus from the box it replaced", async () => {
176
192
  let finish;
177
193
  start.mockImplementation(() => new Promise((resolve) => {
178
194
  finish = resolve;
@@ -180,22 +196,22 @@ describe("clicking the checkbox", () => {
180
196
  render();
181
197
  checkbox().focus();
182
198
  fire(checkbox(), "click", { clientX: 1, clientY: 1 });
183
- const spinner = mounted.container.querySelector('[role="status"]');
184
- expect(document.activeElement).toBe(spinner);
185
- expect(spinner?.getAttribute("aria-label")).toBe("WIDGET.CHECKING");
199
+ await settle();
200
+ expect(document.activeElement).toBe(spinner());
201
+ expect(spinner()?.getAttribute("aria-label")).toBe("WIDGET.CHECKING");
186
202
  finish?.();
187
203
  });
188
204
  test("focus comes back to the box when the check is done", async () => {
189
205
  render();
190
206
  checkbox().focus();
191
207
  fire(checkbox(), "click");
192
- await flush();
208
+ await settle();
193
209
  expect(document.activeElement).toBe(checkbox());
194
210
  });
195
211
  test("a box the user never focused does not steal focus", async () => {
196
212
  render();
197
213
  fire(checkbox(), "click");
198
- await flush();
214
+ await settle();
199
215
  expect(document.activeElement).not.toBe(checkbox());
200
216
  });
201
217
  test("focus the user moved on to is left where they put it", async () => {
@@ -210,109 +226,119 @@ describe("clicking the checkbox", () => {
210
226
  document.body.appendChild(elsewhere);
211
227
  elsewhere.focus();
212
228
  finish?.();
213
- await flush();
229
+ await settle();
214
230
  const focused = document.activeElement;
215
231
  elsewhere.remove();
216
232
  expect(focused).toBe(elsewhere);
217
233
  });
218
234
  test("shows the checkbox again when the start fails", async () => {
219
235
  start.mockImplementation(() => Promise.reject(new Error("network down")));
236
+ const consoleError = vi
237
+ .spyOn(console, "error")
238
+ .mockImplementation(() => undefined);
220
239
  render();
221
240
  fire(checkbox(), "click");
222
- await flush();
223
- expect(mounted.container.querySelector('[role="status"]')).toBeNull();
241
+ await settle();
242
+ expect(spinner()).toBeNull();
243
+ consoleError.mockRestore();
224
244
  });
225
- test("reflects a verified user as a ticked box", () => {
245
+ test("reflects a verified user as a ticked box", async () => {
226
246
  render();
227
- setState({ isHuman: true });
247
+ await setState({ isHuman: true });
228
248
  expect(checkbox().checked).toBe(true);
229
249
  });
230
250
  });
231
251
  describe("the challenge", () => {
232
- const withChallenge = () => {
252
+ const withChallenge = async () => {
233
253
  render();
234
- setState({ showModal: true, ...openChallenge() });
254
+ await setState({ showModal: true, ...openChallenge() });
235
255
  };
236
- test("wires the grid to the manager's select", () => {
237
- withChallenge();
238
- const image = document.querySelector(".prosopo-modalOuter img");
256
+ test("wires the grid to the manager's select", async () => {
257
+ await withChallenge();
258
+ const image = document.querySelector(`${SURFACE_SELECTOR} img`);
239
259
  if (!image)
240
260
  throw new Error("expected a captcha image");
241
261
  fire(image, "click", { clientX: 3, clientY: 4 });
242
262
  expect(select).toHaveBeenCalledWith("hash-1", 3, 4);
243
263
  });
244
- test("wires cancel to the manager", () => {
245
- withChallenge();
246
- const cancelButton = document.querySelector('.prosopo-modalOuter button[aria-label="WIDGET.CANCEL"]');
264
+ test("wires cancel to the manager", async () => {
265
+ await withChallenge();
266
+ const cancelButton = document.querySelector(`${SURFACE_SELECTOR} [aria-label="WIDGET.CANCEL"]`);
247
267
  if (!cancelButton)
248
268
  throw new Error("expected a cancel button");
249
269
  fire(cancelButton, "click");
250
270
  expect(cancel).toHaveBeenCalledTimes(1);
251
271
  });
252
- test("wires submit to the manager on the last round", () => {
253
- withChallenge();
254
- const submitButton = document.querySelector('.prosopo-modalOuter button[aria-label="WIDGET.SUBMIT"]');
272
+ test("wires submit to the manager on the last round", async () => {
273
+ await withChallenge();
274
+ const submitButton = document.querySelector(`${SURFACE_SELECTOR} [aria-label="WIDGET.SUBMIT"]`);
255
275
  if (!submitButton)
256
276
  throw new Error("expected a submit button");
257
277
  fire(submitButton, "click");
258
278
  expect(submit).toHaveBeenCalledTimes(1);
259
279
  });
280
+ test("takes the modal with it when the widget is destroyed", () => {
281
+ render();
282
+ widget?.destroy();
283
+ widget = undefined;
284
+ expect(document.querySelector(SURFACE_SELECTOR)).toBeNull();
285
+ });
260
286
  });
261
287
  describe("recovering from an error", () => {
262
- test("stops the spinner so the user can try again", () => {
288
+ test("stops the spinner so the user can try again", async () => {
263
289
  render();
264
290
  fire(checkbox(), "click");
265
- setState({ error: { message: "boom", key: "CAPTCHA.UNKNOWN" } });
266
- expect(mounted.container.querySelector('[role="status"]')).toBeNull();
291
+ await setState({ error: { message: "boom", key: "CAPTCHA.UNKNOWN" } });
292
+ expect(spinner()).toBeNull();
267
293
  });
268
- test("shows the error text against the checkbox", () => {
294
+ test("shows the error text against the checkbox", async () => {
269
295
  render();
270
- setState({ error: { message: "boom", key: "CAPTCHA.UNKNOWN" } });
296
+ await setState({ error: { message: "boom", key: "CAPTCHA.UNKNOWN" } });
271
297
  expect(mounted.container.textContent).toContain("boom");
272
298
  });
273
- test("asks the host to re-mint an invalidated session", () => {
299
+ test("asks the host to re-mint an invalidated session", async () => {
274
300
  const onSessionInvalidated = vi.fn();
275
301
  render({ onSessionInvalidated });
276
302
  fire(checkbox(), "click", { clientX: 7, clientY: 8 });
277
- setState({
303
+ await setState({
278
304
  error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" },
279
305
  });
280
306
  expect(onSessionInvalidated).toHaveBeenCalledWith(7, 8);
281
307
  });
282
- test("asks only once, however often the error re-renders", () => {
308
+ test("asks only once, however often the error re-renders", async () => {
283
309
  const onSessionInvalidated = vi.fn();
284
310
  render({ onSessionInvalidated });
285
- setState({ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" } });
286
- setState({
311
+ await setState({
312
+ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" },
313
+ });
314
+ await setState({
287
315
  error: { message: "gone again", key: "CAPTCHA.NO_SESSION_FOUND" },
288
316
  });
289
317
  expect(onSessionInvalidated).toHaveBeenCalledTimes(1);
290
318
  });
291
- test("reports no coordinates when the user never clicked", () => {
319
+ test("reports no coordinates when the user never clicked", async () => {
292
320
  const onSessionInvalidated = vi.fn();
293
321
  render({ onSessionInvalidated });
294
- setState({ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" } });
322
+ await setState({
323
+ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" },
324
+ });
295
325
  expect(onSessionInvalidated).toHaveBeenCalledWith(undefined, undefined);
296
326
  });
297
- test("falls back to restarting the frictionless flow", () => {
298
- vi.useFakeTimers();
327
+ test("falls back to restarting the frictionless flow", async () => {
299
328
  const restart = vi.fn();
300
329
  render({ frictionlessState: frictionless({ restart }) });
301
- setState({ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" } });
302
- expect(restart).not.toHaveBeenCalled();
303
- act(() => {
304
- vi.advanceTimersByTime(100);
330
+ await setState({
331
+ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" },
305
332
  });
333
+ expect(restart).not.toHaveBeenCalled();
334
+ await new Promise((resolve) => setTimeout(resolve, 150));
306
335
  expect(restart).toHaveBeenCalledTimes(1);
307
336
  });
308
- test("leaves an ordinary error to the host, restarting nothing", () => {
309
- vi.useFakeTimers();
337
+ test("leaves an ordinary error to the host, restarting nothing", async () => {
310
338
  const restart = vi.fn();
311
339
  render({ frictionlessState: frictionless({ restart }) });
312
- setState({ error: { message: "boom", key: "CAPTCHA.UNKNOWN" } });
313
- act(() => {
314
- vi.advanceTimersByTime(1000);
315
- });
340
+ await setState({ error: { message: "boom", key: "CAPTCHA.UNKNOWN" } });
341
+ await new Promise((resolve) => setTimeout(resolve, 150));
316
342
  expect(restart).not.toHaveBeenCalled();
317
343
  });
318
344
  });
@@ -329,42 +355,43 @@ describe("starting without a click", () => {
329
355
  render({ autoStart: true, startCoords: { x: 5, y: 6 } });
330
356
  expect(start).toHaveBeenCalledWith(5, 6);
331
357
  });
332
- test("remembers those coordinates for a session re-mint", () => {
358
+ test("remembers those coordinates for a session re-mint", async () => {
333
359
  const onSessionInvalidated = vi.fn();
334
360
  render({
335
361
  autoStart: true,
336
362
  startCoords: { x: 5, y: 6 },
337
363
  onSessionInvalidated,
338
364
  });
339
- setState({ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" } });
365
+ await setState({
366
+ error: { message: "gone", key: "CAPTCHA.NO_SESSION_FOUND" },
367
+ });
340
368
  expect(onSessionInvalidated).toHaveBeenCalledWith(5, 6);
341
369
  });
342
370
  test("clears the spinner when an auto start fails", async () => {
343
371
  start.mockImplementation(() => Promise.reject(new Error("network down")));
344
372
  render({ autoStart: true });
345
- await flush();
346
- expect(mounted.container.querySelector('[role="status"]')).toBeNull();
373
+ await settle();
374
+ expect(spinner()).toBeNull();
347
375
  });
348
376
  });
349
377
  describe("the execute event", () => {
350
378
  const execute = () => {
351
- act(() => {
352
- document.dispatchEvent(new Event("procaptcha:execute"));
353
- });
379
+ document.dispatchEvent(new Event("procaptcha:execute"));
354
380
  };
355
- test("opens the modal", () => {
381
+ test("opens the modal", async () => {
356
382
  render();
357
383
  execute();
358
- expect(document.querySelector(".prosopo-modalOuter")?.style.display).toBe("flex");
384
+ await settle();
385
+ expect(document.querySelector(SURFACE_SELECTOR)?.style.display).toBe("flex");
359
386
  });
360
387
  test("fetches a challenge when there is none", () => {
361
388
  render();
362
389
  execute();
363
390
  expect(start).toHaveBeenCalledTimes(1);
364
391
  });
365
- test("does not re-fetch when a challenge is already open", () => {
392
+ test("does not re-fetch when a challenge is already open", async () => {
366
393
  render();
367
- setState(openChallenge());
394
+ await setState(openChallenge());
368
395
  execute();
369
396
  expect(start).not.toHaveBeenCalled();
370
397
  });
@@ -382,10 +409,10 @@ describe("the execute event", () => {
382
409
  });
383
410
  test("stops listening once the widget is gone", () => {
384
411
  render();
385
- mounted.unmount();
386
- document.dispatchEvent(new Event("procaptcha:execute"));
412
+ widget?.destroy();
413
+ widget = undefined;
414
+ execute();
387
415
  expect(start).not.toHaveBeenCalled();
388
- mounted = mount();
389
416
  });
390
417
  });
391
418
  describe("language", () => {
@@ -402,7 +429,7 @@ describe("language", () => {
402
429
  render({ config: config({ language: "fr" }), i18n: i18n("fr") });
403
430
  expect(changeLanguage).not.toHaveBeenCalled();
404
431
  });
405
- test("boots i18n itself for a direct React consumer", () => {
432
+ test("boots i18n itself for a direct consumer", () => {
406
433
  render({ config: config({ language: "de" }) });
407
434
  expect(loadI18next).toHaveBeenCalledWith(false, "de");
408
435
  });
@@ -412,20 +439,18 @@ describe("theming", () => {
412
439
  render({ config: config({ theme: "dark" }) });
413
440
  expect(managerArgs[0]?.[0].theme).toBe("dark");
414
441
  });
415
- test("defaults an unthemed widget to the light palette", () => {
442
+ test("defaults an unthemed widget to the light palette", async () => {
416
443
  render();
417
- setState({ showModal: true, ...openChallenge() });
418
- const panel = document.querySelector(".prosopo-modalInner > div");
444
+ await setState({ showModal: true, ...openChallenge() });
445
+ const panel = document.querySelector(PANEL_SELECTOR);
419
446
  expect(panel?.style.backgroundColor).toBe(asRgb(lightTheme.palette.background.default));
420
447
  });
421
448
  });
422
449
  describe("the manager itself", () => {
423
- test("is built once, so the click coordinates survive a re-render", () => {
450
+ test("is built once, so the click coordinates survive a re-render", async () => {
424
451
  render();
425
- const first = managerArgs.length;
426
- setState({ isHuman: true });
427
- expect(vitest.isMockFunction(start)).toBe(true);
428
- expect(managerArgs.length).toBeGreaterThanOrEqual(first);
452
+ await setState({ isHuman: true });
453
+ expect(managerArgs).toHaveLength(1);
429
454
  fire(checkbox(), "click", { clientX: 9, clientY: 9 });
430
455
  expect(start).toHaveBeenCalledWith(9, 9);
431
456
  });
@@ -1 +1 @@
1
- {"version":3,"file":"procaptchaWidget.unit.test.js","sourceRoot":"","sources":["../../src/tests/procaptchaWidget.unit.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procaptchaWidget.unit.test.js","sourceRoot":"","sources":["../../src/tests/procaptchaWidget.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,9 @@
1
- import type { ReactElement } from "react";
2
- import { type Root } from "react-dom/client";
3
1
  export interface Mounted {
4
2
  container: HTMLDivElement;
5
- root: Root;
6
- render: (element: ReactElement) => void;
7
3
  unmount: () => void;
8
4
  }
9
5
  export declare const mount: () => Mounted;
10
- interface ClickOptions {
6
+ interface FireOptions {
11
7
  trusted?: boolean;
12
8
  clientX?: number;
13
9
  clientY?: number;
@@ -15,9 +11,12 @@ interface ClickOptions {
15
11
  clientX: number;
16
12
  clientY: number;
17
13
  }[];
14
+ key?: string;
18
15
  }
19
- export declare const fire: (element: Element, type: string, options?: ClickOptions) => void;
20
- export declare const fireAndReturn: (element: Element, type: string, options?: ClickOptions) => MouseEvent;
16
+ export declare const fire: (element: Element, type: string, options?: FireOptions) => void;
17
+ export declare const fireAndReturn: (element: Element, type: string, options?: FireOptions) => Event;
18
+ export declare const settle: () => Promise<void>;
19
+ export declare const styleSnapshot: (element: HTMLElement) => string[];
21
20
  export declare const asRgb: (hex: string) => string;
22
21
  export {};
23
22
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/tests/render.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,KAAK,IAAI,EAAc,MAAM,kBAAkB,CAAC;AAQzD,MAAM,WAAW,OAAO;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,QAAO,OAwBxB,CAAC;AAEF,UAAU,YAAY;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AA8BD,eAAO,MAAM,IAAI,YACP,OAAO,QACV,MAAM,YACH,YAAY,KACnB,IAcF,CAAC;AAIF,eAAO,MAAM,aAAa,YAChB,OAAO,QACV,MAAM,YACH,YAAY,KACnB,UAOF,CAAC;AAMF,eAAO,MAAM,KAAK,QAAS,MAAM,KAAG,MAanC,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/tests/render.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,OAAO;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,QAAO,OASxB,CAAC;AAEF,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AA8CD,eAAO,MAAM,IAAI,YACP,OAAO,QACV,MAAM,YACH,WAAW,KAClB,IAEF,CAAC;AAIF,eAAO,MAAM,aAAa,YAChB,OAAO,QACV,MAAM,YACH,WAAW,KAClB,KAQF,CAAC;AAMF,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,IAAI,CAK3C,CAAC;AAOF,eAAO,MAAM,aAAa,YAAa,WAAW,KAAG,MAAM,EAGlD,CAAC;AAMV,eAAO,MAAM,KAAK,QAAS,MAAM,KAAG,MAanC,CAAC"}