@assistant-ui/react-native 0.1.26 → 0.1.28

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 (39) hide show
  1. package/dist/index.d.ts +3 -3
  2. package/dist/index.js +3 -3
  3. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  4. package/dist/primitives/composer/ComposerInput.js +8 -0
  5. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  6. package/dist/primitives/thread.d.ts +3 -3
  7. package/dist/primitives/thread.js +4 -3
  8. package/dist/primitives/thread.js.map +1 -1
  9. package/package.json +11 -7
  10. package/src/index.ts +29 -0
  11. package/src/primitives/attachment/AttachmentName.test.tsx +55 -0
  12. package/src/primitives/attachment/AttachmentRemove.test.tsx +81 -0
  13. package/src/primitives/attachment/AttachmentThumb.test.tsx +75 -0
  14. package/src/primitives/branchPicker/BranchPickerCount.test.tsx +55 -0
  15. package/src/primitives/branchPicker/BranchPickerNext.test.tsx +97 -0
  16. package/src/primitives/branchPicker/BranchPickerNumber.test.tsx +56 -0
  17. package/src/primitives/branchPicker/BranchPickerPrevious.test.tsx +100 -0
  18. package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.test.tsx +85 -0
  19. package/src/primitives/composer/ComposerAddAttachment.test.tsx +136 -0
  20. package/src/primitives/composer/ComposerCancel.test.tsx +116 -0
  21. package/src/primitives/composer/ComposerInput.test.tsx +253 -0
  22. package/src/primitives/composer/ComposerInput.tsx +12 -0
  23. package/src/primitives/composer/ComposerSend.test.tsx +116 -0
  24. package/src/primitives/error/ErrorMessage.test.tsx +64 -0
  25. package/src/primitives/error/ErrorRoot.test.tsx +65 -0
  26. package/src/primitives/message/MessageContent.test.tsx +278 -0
  27. package/src/primitives/message/MessageIf.test.tsx +156 -0
  28. package/src/primitives/suggestion/SuggestionDescription.test.tsx +61 -0
  29. package/src/primitives/suggestion/SuggestionTitle.test.tsx +61 -0
  30. package/src/primitives/suggestion/SuggestionTrigger.test.tsx +144 -0
  31. package/src/primitives/thread/ThreadEmpty.test.tsx +56 -0
  32. package/src/primitives/thread/ThreadIf.test.tsx +121 -0
  33. package/src/primitives/thread/ThreadMessages.test.tsx +192 -0
  34. package/src/primitives/thread.ts +1 -0
  35. package/src/primitives/threadList/ThreadListNew.test.tsx +72 -0
  36. package/src/primitives/threadListItem/ThreadListItemArchive.test.tsx +72 -0
  37. package/src/primitives/threadListItem/ThreadListItemDelete.test.tsx +72 -0
  38. package/src/primitives/threadListItem/ThreadListItemTrigger.test.tsx +72 -0
  39. package/src/primitives/threadListItem/ThreadListItemUnarchive.test.tsx +72 -0
@@ -0,0 +1,72 @@
1
+ import { act } from "react";
2
+ import { createRoot, type Root } from "react-dom/client";
3
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
+ import { ThreadListItemUnarchive } from "./ThreadListItemUnarchive";
5
+
6
+ const h = vi.hoisted(() => ({
7
+ unarchive: vi.fn<() => void>(),
8
+ }));
9
+
10
+ vi.mock("@assistant-ui/core/react", () => ({
11
+ useThreadListItemUnarchive: () => ({ unarchive: h.unarchive }),
12
+ }));
13
+
14
+ (globalThis as Record<string, unknown>).IS_REACT_ACT_ENVIRONMENT = true;
15
+
16
+ const click = (el: Element) =>
17
+ el.dispatchEvent(
18
+ new MouseEvent("click", { bubbles: true, cancelable: true }),
19
+ );
20
+
21
+ describe("ThreadListItemUnarchive", () => {
22
+ let container: HTMLDivElement;
23
+ let root: Root;
24
+
25
+ beforeEach(() => {
26
+ h.unarchive.mockReset();
27
+
28
+ container = document.createElement("div");
29
+ document.body.appendChild(container);
30
+ root = createRoot(container);
31
+ });
32
+
33
+ afterEach(async () => {
34
+ await act(async () => {
35
+ root.unmount();
36
+ });
37
+ container.remove();
38
+ });
39
+
40
+ const mount = async (
41
+ props: Partial<Parameters<typeof ThreadListItemUnarchive>[0]> = {},
42
+ ) => {
43
+ await act(async () => {
44
+ root.render(
45
+ <ThreadListItemUnarchive testID="t" {...props}>
46
+ unarchive
47
+ </ThreadListItemUnarchive>,
48
+ );
49
+ });
50
+ return container.querySelector('[data-testid="t"]') as HTMLElement;
51
+ };
52
+
53
+ it("fires unarchive when pressed", async () => {
54
+ const el = await mount();
55
+
56
+ await act(async () => {
57
+ click(el);
58
+ });
59
+
60
+ expect(h.unarchive).toHaveBeenCalledTimes(1);
61
+ });
62
+
63
+ it("does not fire when a disabled prop is passed through", async () => {
64
+ const el = await mount({ disabled: true });
65
+
66
+ await act(async () => {
67
+ click(el);
68
+ });
69
+
70
+ expect(h.unarchive).not.toHaveBeenCalled();
71
+ });
72
+ });