@servicetitan/titan-chatbot-ui-cypress 3.1.0 → 3.1.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.
Files changed (173) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/tests/index.d.ts +30 -0
  7. package/dist/tests/index.d.ts.map +1 -0
  8. package/dist/tests/index.js +30 -0
  9. package/dist/tests/index.js.map +1 -0
  10. package/dist/tests/titan-chat-ui/chat-error.shared-tests.d.ts +3 -0
  11. package/dist/tests/titan-chat-ui/chat-error.shared-tests.d.ts.map +1 -0
  12. package/dist/tests/titan-chat-ui/chat-error.shared-tests.js +138 -0
  13. package/dist/tests/titan-chat-ui/chat-error.shared-tests.js.map +1 -0
  14. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.d.ts +7 -0
  15. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.d.ts.map +1 -0
  16. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.js +123 -0
  17. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.js.map +1 -0
  18. package/dist/tests/titan-chat-ui/chat-input.shared-tests.d.ts +3 -0
  19. package/dist/tests/titan-chat-ui/chat-input.shared-tests.d.ts.map +1 -0
  20. package/dist/tests/titan-chat-ui/chat-input.shared-tests.js +71 -0
  21. package/dist/tests/titan-chat-ui/chat-input.shared-tests.js.map +1 -0
  22. package/dist/tests/titan-chat-ui/chat-log.shared-tests.d.ts +9 -0
  23. package/dist/tests/titan-chat-ui/chat-log.shared-tests.d.ts.map +1 -0
  24. package/dist/tests/titan-chat-ui/chat-log.shared-tests.js +73 -0
  25. package/dist/tests/titan-chat-ui/chat-log.shared-tests.js.map +1 -0
  26. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.d.ts +8 -0
  27. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.d.ts.map +1 -0
  28. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.js +118 -0
  29. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.js.map +1 -0
  30. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.d.ts +3 -0
  31. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.d.ts.map +1 -0
  32. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.js +110 -0
  33. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.js.map +1 -0
  34. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.d.ts +3 -0
  35. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.d.ts.map +1 -0
  36. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.js +76 -0
  37. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.js.map +1 -0
  38. package/dist/tests/titan-chat-ui/chat.shared-tests.d.ts +9 -0
  39. package/dist/tests/titan-chat-ui/chat.shared-tests.d.ts.map +1 -0
  40. package/dist/tests/titan-chat-ui/chat.shared-tests.js +111 -0
  41. package/dist/tests/titan-chat-ui/chat.shared-tests.js.map +1 -0
  42. package/dist/tests/titan-chat-ui/message-agent.shared-tests.d.ts +27 -0
  43. package/dist/tests/titan-chat-ui/message-agent.shared-tests.d.ts.map +1 -0
  44. package/dist/tests/titan-chat-ui/message-agent.shared-tests.js +67 -0
  45. package/dist/tests/titan-chat-ui/message-agent.shared-tests.js.map +1 -0
  46. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.d.ts +10 -0
  47. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.d.ts.map +1 -0
  48. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.js +88 -0
  49. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.js.map +1 -0
  50. package/dist/tests/titan-chat-ui/message-system.shared-tests.d.ts +16 -0
  51. package/dist/tests/titan-chat-ui/message-system.shared-tests.d.ts.map +1 -0
  52. package/dist/tests/titan-chat-ui/message-system.shared-tests.js +65 -0
  53. package/dist/tests/titan-chat-ui/message-system.shared-tests.js.map +1 -0
  54. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.d.ts +8 -0
  55. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.d.ts.map +1 -0
  56. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.js +63 -0
  57. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.js.map +1 -0
  58. package/dist/tests/titan-chat-ui/message-typing.shared-tests.d.ts +12 -0
  59. package/dist/tests/titan-chat-ui/message-typing.shared-tests.d.ts.map +1 -0
  60. package/dist/tests/titan-chat-ui/message-typing.shared-tests.js +46 -0
  61. package/dist/tests/titan-chat-ui/message-typing.shared-tests.js.map +1 -0
  62. package/dist/tests/titan-chat-ui/message-user.shared-tests.d.ts +10 -0
  63. package/dist/tests/titan-chat-ui/message-user.shared-tests.d.ts.map +1 -0
  64. package/dist/tests/titan-chat-ui/message-user.shared-tests.js +64 -0
  65. package/dist/tests/titan-chat-ui/message-user.shared-tests.js.map +1 -0
  66. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.d.ts +7 -0
  67. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.d.ts.map +1 -0
  68. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.js +118 -0
  69. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.js.map +1 -0
  70. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.d.ts +9 -0
  71. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.d.ts.map +1 -0
  72. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.js +162 -0
  73. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.js.map +1 -0
  74. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.d.ts +15 -0
  75. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.d.ts.map +1 -0
  76. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.js +123 -0
  77. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.js.map +1 -0
  78. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.d.ts +9 -0
  79. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.d.ts.map +1 -0
  80. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.js +84 -0
  81. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.js.map +1 -0
  82. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.d.ts +8 -0
  83. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.d.ts.map +1 -0
  84. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.js +142 -0
  85. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.js.map +1 -0
  86. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.d.ts +8 -0
  87. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.d.ts.map +1 -0
  88. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.js +105 -0
  89. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.js.map +1 -0
  90. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.d.ts +3 -0
  91. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.d.ts.map +1 -0
  92. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.js +86 -0
  93. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.js.map +1 -0
  94. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.d.ts +3 -0
  95. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.d.ts.map +1 -0
  96. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.js +143 -0
  97. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.js.map +1 -0
  98. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.d.ts +8 -0
  99. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.d.ts.map +1 -0
  100. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.js +200 -0
  101. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.js.map +1 -0
  102. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.d.ts +11 -0
  103. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.d.ts.map +1 -0
  104. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.js +81 -0
  105. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.js.map +1 -0
  106. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.d.ts +8 -0
  107. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.d.ts.map +1 -0
  108. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.js +60 -0
  109. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.js.map +1 -0
  110. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.d.ts +8 -0
  111. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.d.ts.map +1 -0
  112. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.js +77 -0
  113. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.js.map +1 -0
  114. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.d.ts +7 -0
  115. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.d.ts.map +1 -0
  116. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.js +130 -0
  117. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.js.map +1 -0
  118. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.d.ts +9 -0
  119. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.d.ts.map +1 -0
  120. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.js +157 -0
  121. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.js.map +1 -0
  122. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.d.ts +9 -0
  123. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.d.ts.map +1 -0
  124. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.js +114 -0
  125. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.js.map +1 -0
  126. package/dist/utils/chat-ui-selectors.d.ts +12 -0
  127. package/dist/utils/chat-ui-selectors.d.ts.map +1 -1
  128. package/dist/utils/chat-ui-selectors.js +24 -0
  129. package/dist/utils/chat-ui-selectors.js.map +1 -1
  130. package/dist/utils/test-utils-chatbot.d.ts +5 -0
  131. package/dist/utils/test-utils-chatbot.d.ts.map +1 -0
  132. package/dist/utils/test-utils-chatbot.js +55 -0
  133. package/dist/utils/test-utils-chatbot.js.map +1 -0
  134. package/dist/utils/test-utils.d.ts +6 -0
  135. package/dist/utils/test-utils.d.ts.map +1 -0
  136. package/dist/utils/test-utils.js +38 -0
  137. package/dist/utils/test-utils.js.map +1 -0
  138. package/package.json +10 -5
  139. package/src/index.ts +3 -0
  140. package/src/tests/index.ts +30 -0
  141. package/src/tests/titan-chat-ui/chat-error.shared-tests.tsx +185 -0
  142. package/src/tests/titan-chat-ui/chat-input-file.shared-tests.tsx +182 -0
  143. package/src/tests/titan-chat-ui/chat-input.shared-tests.tsx +99 -0
  144. package/src/tests/titan-chat-ui/chat-log.shared-tests.tsx +117 -0
  145. package/src/tests/titan-chat-ui/chat-messages.shared-tests.tsx +156 -0
  146. package/src/tests/titan-chat-ui/chat-notifications.shared-tests.tsx +153 -0
  147. package/src/tests/titan-chat-ui/chat-timer.shared-tests.tsx +106 -0
  148. package/src/tests/titan-chat-ui/chat.shared-tests.tsx +158 -0
  149. package/src/tests/titan-chat-ui/message-agent.shared-tests.tsx +170 -0
  150. package/src/tests/titan-chat-ui/message-content-file.shared-tests.tsx +139 -0
  151. package/src/tests/titan-chat-ui/message-system.shared-tests.tsx +147 -0
  152. package/src/tests/titan-chat-ui/message-timeout.shared-tests.tsx +117 -0
  153. package/src/tests/titan-chat-ui/message-typing.shared-tests.tsx +92 -0
  154. package/src/tests/titan-chat-ui/message-user.shared-tests.tsx +138 -0
  155. package/src/tests/titan-chatbot-ui/chatbot-filters.shared-tests.tsx +164 -0
  156. package/src/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.tsx +225 -0
  157. package/src/tests/titan-chatbot-ui/chatbot-links.shared-tests.tsx +189 -0
  158. package/src/tests/titan-chatbot-ui/chatbot-live.shared-tests.tsx +127 -0
  159. package/src/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.tsx +187 -0
  160. package/src/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.tsx +144 -0
  161. package/src/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.tsx +127 -0
  162. package/src/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.tsx +198 -0
  163. package/src/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.tsx +285 -0
  164. package/src/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.tsx +112 -0
  165. package/src/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.tsx +91 -0
  166. package/src/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.tsx +116 -0
  167. package/src/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.tsx +182 -0
  168. package/src/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.tsx +221 -0
  169. package/src/tests/titan-chatbot-ui/chatbot.shared-tests.tsx +158 -0
  170. package/src/utils/chat-ui-selectors.ts +24 -0
  171. package/src/utils/test-utils-chatbot.tsx +73 -0
  172. package/src/utils/test-utils.tsx +52 -0
  173. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,88 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CHAT_UI_BACKEND_STORE_TOKEN, CHAT_UI_STORE_TOKEN, ChatMessageState, ChatParticipantIcon, } from '@servicetitan/titan-chat-ui-common';
3
+ import { testInitContainer, testRenderWrapper } from '../../utils/test-utils';
4
+ export function runMessageContentFileSharedTests(MessageContentFileComponent, options = {}) {
5
+ let container;
6
+ let chatUiStore;
7
+ let chatUiBackendStore;
8
+ beforeEach(() => {
9
+ container = testInitContainer();
10
+ chatUiStore = container.get(CHAT_UI_STORE_TOKEN);
11
+ chatUiBackendStore = container.get(CHAT_UI_BACKEND_STORE_TOKEN);
12
+ cy.viewport(800, 800);
13
+ });
14
+ const render = (message, onAfterInit) => cy
15
+ .wrap(null)
16
+ .then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(MessageContentFileComponent, { message: message }), onAfterInit));
17
+ const createFileMessage = (fileName, state = ChatMessageState.Delivered) => ({
18
+ id: 'test-file-message',
19
+ type: 'file',
20
+ participant: {
21
+ isAgent: false,
22
+ icon: ChatParticipantIcon.Empty,
23
+ name: 'Test User',
24
+ },
25
+ fileName,
26
+ state,
27
+ timestamp: new Date(),
28
+ });
29
+ const getIconSelector = () => {
30
+ return options.isAnvil2 ? '[data-anv="icon"]' : '[data-anvil-component="Icon"]';
31
+ };
32
+ it('should render file name with attach icon', () => {
33
+ const message = createFileMessage('test-document.pdf');
34
+ render(message);
35
+ cy.get(getIconSelector()).should('be.visible');
36
+ cy.contains('test-document.pdf').should('be.visible');
37
+ });
38
+ it('should display file name for different file types', () => {
39
+ const imageMessage = createFileMessage('image.jpg');
40
+ render(imageMessage);
41
+ cy.contains('image.jpg').should('be.visible');
42
+ });
43
+ it('should not show status text when message is in sent state', () => {
44
+ const message = createFileMessage('document.pdf', ChatMessageState.Delivered);
45
+ render(message);
46
+ cy.contains('File uploaded').should('exist');
47
+ cy.contains('Please wait while uploading...').should('not.exist');
48
+ });
49
+ it('should show "Please wait while uploading..." when message is delivering', () => {
50
+ const message = createFileMessage('document.pdf', ChatMessageState.Delivering);
51
+ render(message);
52
+ cy.contains('document.pdf').should('be.visible');
53
+ cy.contains('Please wait while uploading...').should('be.visible');
54
+ cy.contains('File uploaded').should('not.exist');
55
+ });
56
+ it('should show "File uploaded" when message is delivered', () => {
57
+ const message = createFileMessage('document.pdf', ChatMessageState.Delivered);
58
+ render(message);
59
+ cy.contains('document.pdf').should('be.visible');
60
+ cy.contains('File uploaded').should('be.visible');
61
+ cy.contains('Please wait while uploading...').should('not.exist');
62
+ });
63
+ it('should render with long file names', () => {
64
+ const message = createFileMessage('very-long-file-name-that-might-cause-layout-issues.pdf');
65
+ render(message);
66
+ cy.contains('very-long-file-name-that-might-cause-layout-issues.pdf').should('be.visible');
67
+ });
68
+ it('should render file with special characters in name', () => {
69
+ const message = createFileMessage('test file (1) - copy.pdf');
70
+ render(message);
71
+ cy.contains('test file (1) - copy.pdf').should('be.visible');
72
+ });
73
+ it('should not show status text when message is in pending state', () => {
74
+ const message = createFileMessage('document.pdf', ChatMessageState.Delivering);
75
+ render(message);
76
+ cy.contains('document.pdf').should('be.visible');
77
+ cy.contains('File uploaded').should('not.exist');
78
+ cy.contains('Please wait while uploading...').should('be.visible');
79
+ });
80
+ it('should not show status text when message is in error state', () => {
81
+ const message = createFileMessage('document.pdf', ChatMessageState.Failed);
82
+ render(message);
83
+ cy.contains('document.pdf').should('be.visible');
84
+ cy.contains('File uploaded').should('not.exist');
85
+ cy.contains('Please wait while uploading...').should('not.exist');
86
+ });
87
+ }
88
+ //# sourceMappingURL=message-content-file.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-content-file.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-content-file.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { FC, ReactNode } from 'react';
2
+ interface MessageSystemSharedTestsOptions {
3
+ isAnvil2?: boolean;
4
+ }
5
+ interface MessageSystemProps {
6
+ className?: string;
7
+ fullWidth?: boolean;
8
+ children?: ReactNode;
9
+ }
10
+ interface MessageSystemComponents {
11
+ TextComponent: FC<any>;
12
+ ContainerComponent: FC<any>;
13
+ }
14
+ export declare function runMessageSystemSharedTests(MessageSystemComponent: FC<MessageSystemProps>, components: MessageSystemComponents, options?: MessageSystemSharedTestsOptions): void;
15
+ export {};
16
+ //# sourceMappingURL=message-system.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-system.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-system.shared-tests.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItC,UAAU,+BAA+B;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,kBAAkB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,UAAU,uBAAuB;IAC7B,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,kBAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;CAC/B;AAED,wBAAgB,2BAA2B,CACvC,sBAAsB,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAC9C,UAAU,EAAE,uBAAuB,EACnC,OAAO,GAAE,+BAAoC,QAoHhD"}
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CHAT_UI_BACKEND_STORE_TOKEN, CHAT_UI_STORE_TOKEN, } from '@servicetitan/titan-chat-ui-common';
3
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
4
+ import { testInitContainer, testRenderWrapper } from '../../utils/test-utils';
5
+ export function runMessageSystemSharedTests(MessageSystemComponent, components, options = {}) {
6
+ let container;
7
+ let chatUiStore;
8
+ let chatUiBackendStore;
9
+ beforeEach(() => {
10
+ container = testInitContainer();
11
+ chatUiStore = container.get(CHAT_UI_STORE_TOKEN);
12
+ chatUiBackendStore = container.get(CHAT_UI_BACKEND_STORE_TOKEN);
13
+ cy.viewport(800, 800);
14
+ });
15
+ const render = (props = {}, onAfterInit) => cy.wrap(null).then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(MessageSystemComponent, { className: props.className, fullWidth: props.fullWidth, children: props.children }), onAfterInit));
16
+ const createTestContent = () => {
17
+ if (options.isAnvil2) {
18
+ return (_jsx(components.ContainerComponent, { children: _jsx(components.TextComponent, { variant: "body", "data-cy": "content", children: "message system content" }) }));
19
+ }
20
+ return (_jsx(components.ContainerComponent, { className: "border", children: _jsx(components.TextComponent, { "data-cy": "content", children: "message system content" }) }));
21
+ };
22
+ const createSimpleTestContent = () => {
23
+ if (options.isAnvil2) {
24
+ return _jsx(components.TextComponent, { variant: "body", children: "Test content" });
25
+ }
26
+ return _jsx(components.TextComponent, { children: "Test content" });
27
+ };
28
+ it('should be properly rendered', () => {
29
+ render({
30
+ className: 'custom-class',
31
+ children: createTestContent(),
32
+ });
33
+ ChatUiSelectors.chatMessageSystem.should('have.class', 'custom-class').should('be.visible');
34
+ cy.get('[data-cy="content"]').should('contain.text', 'message system content');
35
+ });
36
+ it('should be properly rendered fullwidth', () => {
37
+ render({
38
+ className: 'custom-class',
39
+ fullWidth: true,
40
+ children: createTestContent(),
41
+ });
42
+ ChatUiSelectors.chatMessageSystem.should('have.class', 'custom-class').should('be.visible');
43
+ cy.get('[data-cy="content"]').should('contain.text', 'message system content');
44
+ });
45
+ it('should render with default data-cy attribute', () => {
46
+ render({
47
+ children: createSimpleTestContent(),
48
+ });
49
+ ChatUiSelectors.chatMessageSystem.should('have.attr', 'data-cy', 'titan-chat-message-system');
50
+ });
51
+ it('should render without children', () => {
52
+ render();
53
+ ChatUiSelectors.chatMessageSystem.should('not.be.visible');
54
+ });
55
+ it('should handle complex children structure', () => {
56
+ const complexChildren = options.isAnvil2 ? (_jsxs(components.ContainerComponent, { children: [_jsx(components.TextComponent, { variant: "body", children: "First line" }), _jsx(components.TextComponent, { variant: "body", children: "Second line" })] })) : (_jsxs(components.ContainerComponent, { children: [_jsx(components.TextComponent, { children: "First line" }), _jsx(components.TextComponent, { children: "Second line" })] }));
57
+ render({
58
+ children: complexChildren,
59
+ });
60
+ ChatUiSelectors.chatMessageSystem.should('be.visible');
61
+ cy.contains('First line').should('be.visible');
62
+ cy.contains('Second line').should('be.visible');
63
+ });
64
+ }
65
+ //# sourceMappingURL=message-system.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-system.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-system.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ interface MessageTimeoutProps {
3
+ onResume: () => void;
4
+ onReset: () => void;
5
+ }
6
+ export declare function runMessageTimeoutSharedTests(MessageTimeoutComponent: FC<MessageTimeoutProps>): void;
7
+ export {};
8
+ //# sourceMappingURL=message-timeout.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-timeout.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-timeout.shared-tests.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,UAAU,mBAAmB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,4BAA4B,CAAC,uBAAuB,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAmG5F"}
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CHAT_UI_BACKEND_STORE_TOKEN, CHAT_UI_STORE_TOKEN, } from '@servicetitan/titan-chat-ui-common';
3
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
4
+ import { testInitContainer, testRenderWrapper } from '../../utils/test-utils';
5
+ export function runMessageTimeoutSharedTests(MessageTimeoutComponent) {
6
+ let container;
7
+ let chatUiStore;
8
+ let chatUiBackendStore;
9
+ beforeEach(() => {
10
+ container = testInitContainer();
11
+ chatUiStore = container.get(CHAT_UI_STORE_TOKEN);
12
+ chatUiBackendStore = container.get(CHAT_UI_BACKEND_STORE_TOKEN);
13
+ cy.viewport(800, 800);
14
+ });
15
+ const render = (onResume, onReset, onAfterInit) => cy
16
+ .wrap(null)
17
+ .then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(MessageTimeoutComponent, { onResume: onResume !== null && onResume !== void 0 ? onResume : cy.spy().as('onResume'), onReset: onReset !== null && onReset !== void 0 ? onReset : cy.spy().as('onReset') }), onAfterInit));
18
+ it('should render timeout message with proper text content', () => {
19
+ render();
20
+ ChatUiSelectors.chatMessageTimeout.should('be.visible');
21
+ ChatUiSelectors.chatMessageTimeout.should('contain.text', 'Your session has timed out.');
22
+ ChatUiSelectors.chatMessageTimeout.should('contain.text', 'Would you like to resume it or start a new one?');
23
+ });
24
+ it('should render resume and reset links', () => {
25
+ render();
26
+ ChatUiSelectors.chatMessageTimeoutResume
27
+ .should('be.visible')
28
+ .should('contain.text', 'Continue session');
29
+ ChatUiSelectors.chatMessageTimeoutReset
30
+ .should('be.visible')
31
+ .should('contain.text', 'Start new session');
32
+ });
33
+ it('should call onResume when continue session link is clicked', () => {
34
+ const onResume = cy.spy().as('onResume');
35
+ render(onResume);
36
+ ChatUiSelectors.chatMessageTimeoutResume.click();
37
+ cy.get('@onResume').should('have.been.calledOnce');
38
+ });
39
+ it('should call onReset when start new session link is clicked', () => {
40
+ const onReset = cy.spy().as('onReset');
41
+ render(undefined, onReset);
42
+ ChatUiSelectors.chatMessageTimeoutReset.click();
43
+ cy.get('@onReset').should('have.been.calledOnce');
44
+ });
45
+ it('should handle both callbacks being provided', () => {
46
+ const onResume = cy.spy().as('onResume');
47
+ const onReset = cy.spy().as('onReset');
48
+ render(onResume, onReset);
49
+ ChatUiSelectors.chatMessageTimeoutResume.click();
50
+ cy.get('@onResume').should('have.been.calledOnce');
51
+ cy.get('@onReset').should('not.have.been.called');
52
+ ChatUiSelectors.chatMessageTimeoutReset.click();
53
+ cy.get('@onReset').should('have.been.calledOnce');
54
+ cy.get('@onResume').should('have.been.calledOnce');
55
+ });
56
+ it('should have proper data-cy attributes', () => {
57
+ render();
58
+ ChatUiSelectors.chatMessageTimeout.should('have.attr', 'data-cy', 'titan-chat-message-timeout');
59
+ ChatUiSelectors.chatMessageTimeoutResume.should('have.attr', 'data-cy', 'titan-chat-message-timeout-resume');
60
+ ChatUiSelectors.chatMessageTimeoutReset.should('have.attr', 'data-cy', 'titan-chat-message-timeout-reset');
61
+ });
62
+ }
63
+ //# sourceMappingURL=message-timeout.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-timeout.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-timeout.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ChatParticipantIcon } from '@servicetitan/titan-chat-ui-common';
2
+ import { FC } from 'react';
3
+ interface MessageTypingProps {
4
+ avatar: {
5
+ name: string;
6
+ icon: ChatParticipantIcon;
7
+ className?: string;
8
+ };
9
+ }
10
+ export declare function runMessageTypingSharedTests(MessageTypingComponent: FC<MessageTypingProps>): void;
11
+ export {};
12
+ //# sourceMappingURL=message-typing.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-typing.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-typing.shared-tests.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,mBAAmB,EAItB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,UAAU,kBAAkB;IACxB,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,mBAAmB,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAED,wBAAgB,2BAA2B,CAAC,sBAAsB,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAsEzF"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CHAT_UI_BACKEND_STORE_TOKEN, CHAT_UI_STORE_TOKEN, ChatParticipantIcon, } from '@servicetitan/titan-chat-ui-common';
3
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
4
+ import { testInitContainer, testRenderWrapper } from '../../utils/test-utils';
5
+ export function runMessageTypingSharedTests(MessageTypingComponent) {
6
+ let container;
7
+ let chatUiStore;
8
+ let chatUiBackendStore;
9
+ beforeEach(() => {
10
+ container = testInitContainer();
11
+ chatUiStore = container.get(CHAT_UI_STORE_TOKEN);
12
+ chatUiBackendStore = container.get(CHAT_UI_BACKEND_STORE_TOKEN);
13
+ cy.viewport(800, 800);
14
+ });
15
+ const render = (icon, onAfterInit) => cy.wrap(null).then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(MessageTypingComponent, { avatar: {
16
+ name: 'Test User Name',
17
+ icon,
18
+ className: 'custom-class',
19
+ } }), onAfterInit));
20
+ it('should render typing message with proper structure', () => {
21
+ render(ChatParticipantIcon.Bot);
22
+ ChatUiSelectors.chatMessageTyping.should('be.visible').children().should('have.length', 2);
23
+ ChatUiSelectors.chatMessageTypingDots.should('be.visible');
24
+ });
25
+ it('should render typing message with user icon', () => {
26
+ render(ChatParticipantIcon.Initials);
27
+ ChatUiSelectors.chatMessageTyping.should('be.visible');
28
+ ChatUiSelectors.chatMessageTypingDots.should('be.visible');
29
+ });
30
+ it('should render typing message with agent icon', () => {
31
+ render(ChatParticipantIcon.Bot);
32
+ ChatUiSelectors.chatMessageTyping.should('be.visible');
33
+ ChatUiSelectors.chatMessageTypingDots.should('be.visible');
34
+ });
35
+ it('should render typing message with empty icon', () => {
36
+ render(ChatParticipantIcon.Empty);
37
+ ChatUiSelectors.chatMessageTyping.should('be.visible');
38
+ ChatUiSelectors.chatMessageTypingDots.should('be.visible');
39
+ });
40
+ it('should have proper data-cy attributes', () => {
41
+ render(ChatParticipantIcon.Bot);
42
+ ChatUiSelectors.chatMessageTyping.should('have.attr', 'data-cy', 'titan-chat-message-typing');
43
+ ChatUiSelectors.chatMessageTypingDots.should('have.attr', 'data-cy', 'titan-chat-message-typing-dots');
44
+ });
45
+ }
46
+ //# sourceMappingURL=message-typing.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-typing.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-typing.shared-tests.tsx"],"names":[],"mappings":";AACA,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GAItB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAU9E,MAAM,UAAU,2BAA2B,CAAC,sBAA8C;IACtF,IAAI,SAAoB,CAAC;IACzB,IAAI,WAAyB,CAAC;IAC9B,IAAI,kBAAuC,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACZ,SAAS,GAAG,iBAAiB,EAAE,CAAC;QAChC,WAAW,GAAG,SAAS,CAAC,GAAG,CAAe,mBAAmB,CAAC,CAAC;QAC/D,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAyB,2BAA2B,CAAC,CAAC;QACxF,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,IAAyB,EAAE,WAAwB,EAAE,EAAE,CACnE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACpB,iBAAiB,CACb,WAAW,EACX,kBAAkB,EAClB,KAAC,sBAAsB,IACnB,MAAM,EAAE;YACJ,IAAI,EAAE,gBAAgB;YACtB,IAAI;YACJ,SAAS,EAAE,cAAc;SAC5B,GACH,EACF,WAAW,CACd,CACJ,CAAC;IAEN,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEhC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC3F,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAErC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEhC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAElC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEhC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CACpC,WAAW,EACX,SAAS,EACT,2BAA2B,CAC9B,CAAC;QACF,eAAe,CAAC,qBAAqB,CAAC,MAAM,CACxC,WAAW,EACX,SAAS,EACT,gCAAgC,CACnC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { FC, ReactNode } from 'react';
2
+ interface MessageUserProps {
3
+ children?: ReactNode;
4
+ messageFooter?: ReactNode;
5
+ isError?: boolean;
6
+ className?: string;
7
+ }
8
+ export declare function runMessageUserSharedTests(MessageUserComponent: FC<MessageUserProps>, TextComponent: FC<any>): void;
9
+ export {};
10
+ //# sourceMappingURL=message-user.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-user.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-user.shared-tests.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItC,UAAU,gBAAgB;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,yBAAyB,CACrC,oBAAoB,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAC1C,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,QAoHzB"}
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CHAT_UI_BACKEND_STORE_TOKEN, CHAT_UI_STORE_TOKEN, } from '@servicetitan/titan-chat-ui-common';
3
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
4
+ import { testInitContainer, testRenderWrapper } from '../../utils/test-utils';
5
+ export function runMessageUserSharedTests(MessageUserComponent, TextComponent) {
6
+ let container;
7
+ let chatUiStore;
8
+ let chatUiBackendStore;
9
+ beforeEach(() => {
10
+ container = testInitContainer();
11
+ chatUiStore = container.get(CHAT_UI_STORE_TOKEN);
12
+ chatUiBackendStore = container.get(CHAT_UI_BACKEND_STORE_TOKEN);
13
+ cy.viewport(800, 800);
14
+ });
15
+ const render = (children, messageFooter, isError, className, onAfterInit) => cy.wrap(null).then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(MessageUserComponent, { messageFooter: messageFooter, isError: isError, className: className, children: children }), onAfterInit));
16
+ it('should render user message with basic content', () => {
17
+ render(_jsx(TextComponent, { "data-cy": "content", children: "message user content" }));
18
+ ChatUiSelectors.chatMessageUser.should('be.visible');
19
+ ChatUiSelectors.chatMessageContent
20
+ .should('be.visible')
21
+ .should('contain.text', 'message user content');
22
+ });
23
+ it('should render user message with long text content', () => {
24
+ const longText = 'message user content '.repeat(100).trim();
25
+ render(_jsx(TextComponent, { "data-cy": "content", children: longText }));
26
+ ChatUiSelectors.chatMessageContent.should('be.visible').should('contain.text', longText);
27
+ });
28
+ it('should render user message with footer', () => {
29
+ render(_jsx(TextComponent, { "data-cy": "content", children: "message user content" }), _jsx(TextComponent, { children: "message user footer" }));
30
+ ChatUiSelectors.chatMessageFooter.should('be.visible');
31
+ ChatUiSelectors.chatMessageFooter.should('contain.text', 'message user footer');
32
+ });
33
+ it('should render user message with error state', () => {
34
+ render(_jsx(TextComponent, { "data-cy": "content", children: "error message content" }), undefined, true);
35
+ ChatUiSelectors.chatMessageUser.should('be.visible');
36
+ ChatUiSelectors.chatMessageContent.should('be.visible');
37
+ });
38
+ it('should render user message with custom className', () => {
39
+ render(_jsx(TextComponent, { "data-cy": "content", children: "message content" }), undefined, false, 'custom-message-class');
40
+ ChatUiSelectors.chatMessageUser.should('be.visible');
41
+ ChatUiSelectors.chatMessageUser.should('have.class', 'custom-message-class');
42
+ });
43
+ it('should not render footer when messageFooter is not provided', () => {
44
+ render(_jsx(TextComponent, { "data-cy": "content", children: "message without footer" }));
45
+ ChatUiSelectors.chatMessageUser.should('be.visible');
46
+ ChatUiSelectors.chatMessageFooter.should('not.exist');
47
+ });
48
+ it('should have proper data-cy attributes for testing', () => {
49
+ render(_jsx(TextComponent, { "data-cy": "content", children: "test message" }));
50
+ ChatUiSelectors.chatMessageUser.should('have.attr', 'data-cy', 'titan-chat-message-user');
51
+ ChatUiSelectors.chatMessageContent.should('have.attr', 'data-cy', 'titan-chat-message-content');
52
+ });
53
+ it('should render both content and footer when both are provided', () => {
54
+ render(_jsx(TextComponent, { "data-cy": "content", children: "message content" }), _jsx(TextComponent, { "data-cy": "footer", children: "message footer" }));
55
+ ChatUiSelectors.chatMessageUser.should('be.visible');
56
+ ChatUiSelectors.chatMessageContent
57
+ .should('be.visible')
58
+ .should('contain.text', 'message content');
59
+ ChatUiSelectors.chatMessageFooter
60
+ .should('be.visible')
61
+ .should('contain.text', 'message footer');
62
+ });
63
+ }
64
+ //# sourceMappingURL=message-user.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-user.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/message-user.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { FC, ReactElement } from 'react';
2
+ interface IChatFiltersProps {
3
+ className?: string;
4
+ }
5
+ export declare function runChatbotFiltersSharedTests(ChatFiltersComponent: FC<IChatFiltersProps>, wrapperComponent?: (component: ReactElement) => ReactElement): void;
6
+ export {};
7
+ //# sourceMappingURL=chatbot-filters.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-filters.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot-filters.shared-tests.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAIzC,UAAU,iBAAiB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,4BAA4B,CACxC,oBAAoB,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAC3C,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,YAAY,QAiJ/D"}
@@ -0,0 +1,118 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CHATBOT_API_CLIENT, CHATBOT_UI_STORE_TOKEN, ModelsMocks, } from '@servicetitan/titan-chatbot-api';
3
+ import { testInitContainerChatbot, testRenderWrapperChatbot } from '../..';
4
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
5
+ export function runChatbotFiltersSharedTests(ChatFiltersComponent, wrapperComponent) {
6
+ let container;
7
+ let api;
8
+ let chatbotUiStore;
9
+ const filter = (index) => ChatUiSelectors.chatbotFilterButton.eq(index);
10
+ const filterOptions = (index) => ChatUiSelectors.chatbotFilterOptions.then($options => ChatUiSelectors.chatbotFilterOptions.eq($options.length === 1 ? 0 : index));
11
+ const filterContent = (index) => {
12
+ const selector = `[data-cy="${ChatUiSelectors.cy.chatbotFilterContent}"], [data-anvil-component="Popover"]`;
13
+ return cy
14
+ .get(selector)
15
+ .then($options => cy.get(selector).eq($options.length === 1 ? 0 : index));
16
+ };
17
+ const mockApiClient = () => {
18
+ api.postSession = cy.stub().resolves(ModelsMocks.mockSession());
19
+ api.getOptions = cy.stub().resolves(ModelsMocks.mockFrontendModel());
20
+ };
21
+ beforeEach(() => {
22
+ container = testInitContainerChatbot();
23
+ api = container.get(CHATBOT_API_CLIENT);
24
+ chatbotUiStore = container.get(CHATBOT_UI_STORE_TOKEN);
25
+ mockApiClient();
26
+ cy.viewport(550, 800);
27
+ });
28
+ const render = (className, onAfterInit) => {
29
+ return cy.wrap(null).then(() => {
30
+ const component = (_jsx("div", { style: {
31
+ position: 'absolute',
32
+ bottom: '2rem',
33
+ left: '2rem',
34
+ width: 'calc(100% - 4rem)',
35
+ }, children: _jsx(ChatFiltersComponent, { className: className }) }));
36
+ const wrappedComponent = wrapperComponent ? wrapperComponent(component) : component;
37
+ return testRenderWrapperChatbot(container, wrappedComponent, onAfterInit);
38
+ });
39
+ };
40
+ it('should render filters container when filters are available', () => {
41
+ render().then(() => {
42
+ chatbotUiStore.setFilters(ModelsMocks.mockFrontendModel());
43
+ });
44
+ ChatUiSelectors.chatbotFilters.should('be.visible');
45
+ ChatUiSelectors.chatbotFilterButton.should('have.length', 1);
46
+ });
47
+ it('should not render anything when no filters are available', () => {
48
+ render().then(() => {
49
+ chatbotUiStore.setFilters(ModelsMocks.mockFrontendModelEmpty());
50
+ });
51
+ ChatUiSelectors.chatbotFilters.should('not.exist');
52
+ });
53
+ it('should apply custom className to filters container', () => {
54
+ const customClass = 'custom-filters-class';
55
+ render(customClass).then(() => {
56
+ chatbotUiStore.setFilters(ModelsMocks.mockFrontendModel());
57
+ });
58
+ ChatUiSelectors.chatbotFilters.should('have.class', customClass);
59
+ });
60
+ it('should cascade filters 1', () => {
61
+ render().then(() => {
62
+ chatbotUiStore.setFilters(ModelsMocks.mockFrontendModel());
63
+ });
64
+ filter(0).click();
65
+ filterOptions(0).within(() => {
66
+ cy.contains('Knowledge Base').should('be.visible');
67
+ cy.contains('Jarvis').should('be.visible').click();
68
+ });
69
+ ChatUiSelectors.chatbotFilterButton.should('have.length', 2);
70
+ filter(0).should('contain.text', 'Sources');
71
+ filter(1).should('contain.text', 'Content Types').click();
72
+ filterOptions(1).within(() => {
73
+ cy.contains('Xxx').should('be.visible').click();
74
+ cy.contains('Yyy').should('be.visible').click();
75
+ cy.contains('Release Notes').should('be.visible').click();
76
+ });
77
+ ChatUiSelectors.chatbotFilterButton.should('have.length', 2);
78
+ filter(0).should('contain.text', 'Sources1');
79
+ filter(1).should('contain.text', 'Content Types3');
80
+ });
81
+ it('should cascade filters 2', () => {
82
+ render().then(() => {
83
+ chatbotUiStore.setFilters(ModelsMocks.mockFrontendModel());
84
+ });
85
+ filter(0).click();
86
+ filterOptions(0).within(() => {
87
+ cy.contains('Knowledge Base').should('be.visible').click();
88
+ cy.contains('Jarvis').should('be.visible').click();
89
+ });
90
+ ChatUiSelectors.chatbotFilterButton.should('have.length', 3);
91
+ filter(0).should('contain.text', 'Sources');
92
+ filter(1).should('contain.text', 'Content Types').click();
93
+ filter(2).should('contain.text', 'Product Areas');
94
+ filterOptions(1).within(() => {
95
+ cy.contains('Xxx').should('be.visible').click();
96
+ cy.contains('Yyy').should('be.visible').click();
97
+ cy.contains('FAQ').should('be.visible').click();
98
+ cy.contains('How To').should('be.visible').click();
99
+ cy.contains('Release Notes').should('be.visible').click();
100
+ });
101
+ filter(2).should('contain.text', 'Product Areas').click();
102
+ filterOptions(2).within(() => {
103
+ cy.contains('Call Booking').should('be.visible').click();
104
+ cy.contains('Marketing').should('be.visible').click();
105
+ cy.contains('Marketing Pro').should('be.visible').click();
106
+ });
107
+ ChatUiSelectors.chatbotFilterButton.should('have.length', 3);
108
+ filter(0).should('contain.text', 'Sources2');
109
+ filter(1).should('contain.text', 'Content Types5');
110
+ filter(2).should('contain.text', 'Product Areas3');
111
+ filter(0).click();
112
+ filterContent(0).within(() => {
113
+ ChatUiSelectors.chatbotFilterNone.click();
114
+ });
115
+ ChatUiSelectors.chatbotFilterButton.should('have.length', 1);
116
+ });
117
+ }
118
+ //# sourceMappingURL=chatbot-filters.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-filters.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot-filters.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ChatbotCustomizations } from '@servicetitan/titan-chatbot-api';
2
+ import { FC, ReactElement } from 'react';
3
+ interface IChatbotProps {
4
+ className?: string;
5
+ customizations?: ChatbotCustomizations;
6
+ }
7
+ export declare function runChatbotHelpCenterSharedTests(ChatbotComponent: FC<IChatbotProps>, wrapperComponent?: (component: ReactElement) => ReactElement): void;
8
+ export {};
9
+ //# sourceMappingURL=chatbot-help-center.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-help-center.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMH,qBAAqB,EAOxB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAW,MAAM,OAAO,CAAC;AAoClD,UAAU,aAAa;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,wBAAgB,+BAA+B,CAC3C,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,EACnC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,YAAY,QAmK/D"}