@servicetitan/titan-chatbot-ui-cypress 3.0.1 → 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 (178) hide show
  1. package/CHANGELOG.md +24 -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/mocks/chatbot-api-client.mock.d.ts +0 -1
  7. package/dist/mocks/chatbot-api-client.mock.d.ts.map +1 -1
  8. package/dist/mocks/chatbot-api-client.mock.js +0 -6
  9. package/dist/mocks/chatbot-api-client.mock.js.map +1 -1
  10. package/dist/tests/index.d.ts +30 -0
  11. package/dist/tests/index.d.ts.map +1 -0
  12. package/dist/tests/index.js +30 -0
  13. package/dist/tests/index.js.map +1 -0
  14. package/dist/tests/titan-chat-ui/chat-error.shared-tests.d.ts +3 -0
  15. package/dist/tests/titan-chat-ui/chat-error.shared-tests.d.ts.map +1 -0
  16. package/dist/tests/titan-chat-ui/chat-error.shared-tests.js +138 -0
  17. package/dist/tests/titan-chat-ui/chat-error.shared-tests.js.map +1 -0
  18. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.d.ts +7 -0
  19. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.d.ts.map +1 -0
  20. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.js +123 -0
  21. package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.js.map +1 -0
  22. package/dist/tests/titan-chat-ui/chat-input.shared-tests.d.ts +3 -0
  23. package/dist/tests/titan-chat-ui/chat-input.shared-tests.d.ts.map +1 -0
  24. package/dist/tests/titan-chat-ui/chat-input.shared-tests.js +71 -0
  25. package/dist/tests/titan-chat-ui/chat-input.shared-tests.js.map +1 -0
  26. package/dist/tests/titan-chat-ui/chat-log.shared-tests.d.ts +9 -0
  27. package/dist/tests/titan-chat-ui/chat-log.shared-tests.d.ts.map +1 -0
  28. package/dist/tests/titan-chat-ui/chat-log.shared-tests.js +73 -0
  29. package/dist/tests/titan-chat-ui/chat-log.shared-tests.js.map +1 -0
  30. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.d.ts +8 -0
  31. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.d.ts.map +1 -0
  32. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.js +118 -0
  33. package/dist/tests/titan-chat-ui/chat-messages.shared-tests.js.map +1 -0
  34. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.d.ts +3 -0
  35. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.d.ts.map +1 -0
  36. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.js +110 -0
  37. package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.js.map +1 -0
  38. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.d.ts +3 -0
  39. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.d.ts.map +1 -0
  40. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.js +76 -0
  41. package/dist/tests/titan-chat-ui/chat-timer.shared-tests.js.map +1 -0
  42. package/dist/tests/titan-chat-ui/chat.shared-tests.d.ts +9 -0
  43. package/dist/tests/titan-chat-ui/chat.shared-tests.d.ts.map +1 -0
  44. package/dist/tests/titan-chat-ui/chat.shared-tests.js +111 -0
  45. package/dist/tests/titan-chat-ui/chat.shared-tests.js.map +1 -0
  46. package/dist/tests/titan-chat-ui/message-agent.shared-tests.d.ts +27 -0
  47. package/dist/tests/titan-chat-ui/message-agent.shared-tests.d.ts.map +1 -0
  48. package/dist/tests/titan-chat-ui/message-agent.shared-tests.js +67 -0
  49. package/dist/tests/titan-chat-ui/message-agent.shared-tests.js.map +1 -0
  50. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.d.ts +10 -0
  51. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.d.ts.map +1 -0
  52. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.js +88 -0
  53. package/dist/tests/titan-chat-ui/message-content-file.shared-tests.js.map +1 -0
  54. package/dist/tests/titan-chat-ui/message-system.shared-tests.d.ts +16 -0
  55. package/dist/tests/titan-chat-ui/message-system.shared-tests.d.ts.map +1 -0
  56. package/dist/tests/titan-chat-ui/message-system.shared-tests.js +65 -0
  57. package/dist/tests/titan-chat-ui/message-system.shared-tests.js.map +1 -0
  58. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.d.ts +8 -0
  59. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.d.ts.map +1 -0
  60. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.js +63 -0
  61. package/dist/tests/titan-chat-ui/message-timeout.shared-tests.js.map +1 -0
  62. package/dist/tests/titan-chat-ui/message-typing.shared-tests.d.ts +12 -0
  63. package/dist/tests/titan-chat-ui/message-typing.shared-tests.d.ts.map +1 -0
  64. package/dist/tests/titan-chat-ui/message-typing.shared-tests.js +46 -0
  65. package/dist/tests/titan-chat-ui/message-typing.shared-tests.js.map +1 -0
  66. package/dist/tests/titan-chat-ui/message-user.shared-tests.d.ts +10 -0
  67. package/dist/tests/titan-chat-ui/message-user.shared-tests.d.ts.map +1 -0
  68. package/dist/tests/titan-chat-ui/message-user.shared-tests.js +64 -0
  69. package/dist/tests/titan-chat-ui/message-user.shared-tests.js.map +1 -0
  70. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.d.ts +7 -0
  71. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.d.ts.map +1 -0
  72. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.js +118 -0
  73. package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.js.map +1 -0
  74. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.d.ts +9 -0
  75. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.d.ts.map +1 -0
  76. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.js +162 -0
  77. package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.js.map +1 -0
  78. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.d.ts +15 -0
  79. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.d.ts.map +1 -0
  80. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.js +123 -0
  81. package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.js.map +1 -0
  82. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.d.ts +9 -0
  83. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.d.ts.map +1 -0
  84. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.js +84 -0
  85. package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.js.map +1 -0
  86. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.d.ts +8 -0
  87. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.d.ts.map +1 -0
  88. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.js +142 -0
  89. package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.js.map +1 -0
  90. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.d.ts +8 -0
  91. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.d.ts.map +1 -0
  92. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.js +105 -0
  93. package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.js.map +1 -0
  94. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.d.ts +3 -0
  95. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.d.ts.map +1 -0
  96. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.js +86 -0
  97. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.js.map +1 -0
  98. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.d.ts +3 -0
  99. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.d.ts.map +1 -0
  100. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.js +143 -0
  101. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.js.map +1 -0
  102. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.d.ts +8 -0
  103. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.d.ts.map +1 -0
  104. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.js +200 -0
  105. package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.js.map +1 -0
  106. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.d.ts +11 -0
  107. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.d.ts.map +1 -0
  108. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.js +81 -0
  109. package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.js.map +1 -0
  110. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.d.ts +8 -0
  111. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.d.ts.map +1 -0
  112. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.js +60 -0
  113. package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.js.map +1 -0
  114. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.d.ts +8 -0
  115. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.d.ts.map +1 -0
  116. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.js +77 -0
  117. package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.js.map +1 -0
  118. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.d.ts +7 -0
  119. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.d.ts.map +1 -0
  120. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.js +130 -0
  121. package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.js.map +1 -0
  122. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.d.ts +9 -0
  123. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.d.ts.map +1 -0
  124. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.js +157 -0
  125. package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.js.map +1 -0
  126. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.d.ts +9 -0
  127. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.d.ts.map +1 -0
  128. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.js +114 -0
  129. package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.js.map +1 -0
  130. package/dist/utils/chat-ui-selectors.d.ts +12 -0
  131. package/dist/utils/chat-ui-selectors.d.ts.map +1 -1
  132. package/dist/utils/chat-ui-selectors.js +24 -0
  133. package/dist/utils/chat-ui-selectors.js.map +1 -1
  134. package/dist/utils/test-utils-chatbot.d.ts +5 -0
  135. package/dist/utils/test-utils-chatbot.d.ts.map +1 -0
  136. package/dist/utils/test-utils-chatbot.js +55 -0
  137. package/dist/utils/test-utils-chatbot.js.map +1 -0
  138. package/dist/utils/test-utils.d.ts +6 -0
  139. package/dist/utils/test-utils.d.ts.map +1 -0
  140. package/dist/utils/test-utils.js +38 -0
  141. package/dist/utils/test-utils.js.map +1 -0
  142. package/package.json +10 -5
  143. package/src/index.ts +3 -0
  144. package/src/mocks/chatbot-api-client.mock.ts +0 -1
  145. package/src/tests/index.ts +30 -0
  146. package/src/tests/titan-chat-ui/chat-error.shared-tests.tsx +185 -0
  147. package/src/tests/titan-chat-ui/chat-input-file.shared-tests.tsx +182 -0
  148. package/src/tests/titan-chat-ui/chat-input.shared-tests.tsx +99 -0
  149. package/src/tests/titan-chat-ui/chat-log.shared-tests.tsx +117 -0
  150. package/src/tests/titan-chat-ui/chat-messages.shared-tests.tsx +156 -0
  151. package/src/tests/titan-chat-ui/chat-notifications.shared-tests.tsx +153 -0
  152. package/src/tests/titan-chat-ui/chat-timer.shared-tests.tsx +106 -0
  153. package/src/tests/titan-chat-ui/chat.shared-tests.tsx +158 -0
  154. package/src/tests/titan-chat-ui/message-agent.shared-tests.tsx +170 -0
  155. package/src/tests/titan-chat-ui/message-content-file.shared-tests.tsx +139 -0
  156. package/src/tests/titan-chat-ui/message-system.shared-tests.tsx +147 -0
  157. package/src/tests/titan-chat-ui/message-timeout.shared-tests.tsx +117 -0
  158. package/src/tests/titan-chat-ui/message-typing.shared-tests.tsx +92 -0
  159. package/src/tests/titan-chat-ui/message-user.shared-tests.tsx +138 -0
  160. package/src/tests/titan-chatbot-ui/chatbot-filters.shared-tests.tsx +164 -0
  161. package/src/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.tsx +225 -0
  162. package/src/tests/titan-chatbot-ui/chatbot-links.shared-tests.tsx +189 -0
  163. package/src/tests/titan-chatbot-ui/chatbot-live.shared-tests.tsx +127 -0
  164. package/src/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.tsx +187 -0
  165. package/src/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.tsx +144 -0
  166. package/src/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.tsx +127 -0
  167. package/src/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.tsx +198 -0
  168. package/src/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.tsx +285 -0
  169. package/src/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.tsx +112 -0
  170. package/src/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.tsx +91 -0
  171. package/src/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.tsx +116 -0
  172. package/src/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.tsx +182 -0
  173. package/src/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.tsx +221 -0
  174. package/src/tests/titan-chatbot-ui/chatbot.shared-tests.tsx +158 -0
  175. package/src/utils/chat-ui-selectors.ts +24 -0
  176. package/src/utils/test-utils-chatbot.tsx +73 -0
  177. package/src/utils/test-utils.tsx +52 -0
  178. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v3.1.1 (Thu Aug 14 2025)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - SPA-7016: [Chatbot] Add Anvil2 support for chatbot NPM packages [#41](https://github.com/servicetitan/titan-chatbot-client/pull/41) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
6
+
7
+ #### Authors: 1
8
+
9
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
10
+
11
+ ---
12
+
13
+ # v3.1.0 (Thu Jul 17 2025)
14
+
15
+ #### 🚀 Enhancement
16
+
17
+ - SPA-6966: [Chatbot] Move refresh API cookies request from the package to the internal chatbot [#37](https://github.com/servicetitan/titan-chatbot-client/pull/37) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
18
+
19
+ #### Authors: 1
20
+
21
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
22
+
23
+ ---
24
+
1
25
  # v3.0.0 (Tue Jul 15 2025)
2
26
 
3
27
  #### 💥 Breaking Change
package/dist/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  export { ChatUiSelectors } from './utils/chat-ui-selectors';
2
+ export * from './utils/test-utils';
3
+ export * from './utils/test-utils-chatbot';
4
+ export * from './tests';
2
5
  export * as CypressMocks from './mocks';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,6 @@
1
1
  export { ChatUiSelectors } from './utils/chat-ui-selectors';
2
+ export * from './utils/test-utils';
3
+ export * from './utils/test-utils-chatbot';
4
+ export * from './tests';
2
5
  export * as CypressMocks from './mocks';
3
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC"}
@@ -6,6 +6,5 @@ export declare class ChatbotApiClientMock implements IChatbotApiClient {
6
6
  postSession: (body: Models.ISession, abortSignal?: AbortSignal) => Promise<Models.Session>;
7
7
  patchSession: (body: Models.ISession, abortSignal?: AbortSignal) => Promise<Models.Session>;
8
8
  deleteSession: (body: Models.ISession, abortSignal?: AbortSignal) => Promise<Models.Session>;
9
- postRefreshAuthCookies: (abortSignal?: AbortSignal) => Promise<boolean>;
10
9
  }
11
10
  //# sourceMappingURL=chatbot-api-client.mock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-api-client.mock.d.ts","sourceRoot":"","sources":["../../src/mocks/chatbot-api-client.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE5E,qBAAa,oBAAqB,YAAW,iBAAiB;IAC1D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC/E;IACd,WAAW,EAAE,CACT,IAAI,EAAE,MAAM,CAAC,YAAY,EACzB,WAAW,CAAC,EAAE,WAAW,KACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAa;IAC5C,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAa;IACrF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAC5E;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAC7E;IACd,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAC9E;IACd,sBAAsB,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAa;CACvF"}
1
+ {"version":3,"file":"chatbot-api-client.mock.d.ts","sourceRoot":"","sources":["../../src/mocks/chatbot-api-client.mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE5E,qBAAa,oBAAqB,YAAW,iBAAiB;IAC1D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC/E;IACd,WAAW,EAAE,CACT,IAAI,EAAE,MAAM,CAAC,YAAY,EACzB,WAAW,CAAC,EAAE,WAAW,KACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAa;IAC5C,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAa;IACrF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAC5E;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAC7E;IACd,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAC9E;CACjB"}
@@ -36,12 +36,6 @@ export class ChatbotApiClientMock {
36
36
  writable: true,
37
37
  value: cy.stub()
38
38
  });
39
- Object.defineProperty(this, "postRefreshAuthCookies", {
40
- enumerable: true,
41
- configurable: true,
42
- writable: true,
43
- value: cy.stub()
44
- });
45
39
  }
46
40
  }
47
41
  //# sourceMappingURL=chatbot-api-client.mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-api-client.mock.js","sourceRoot":"","sources":["../../src/mocks/chatbot-api-client.mock.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,oBAAoB;IAAjC;QACI;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;QACd;;;;mBAGkC,EAAE,CAAC,IAAI,EAAE;WAAC;QAC5C;;;;mBAA2E,EAAE,CAAC,IAAI,EAAE;WAAC;QACrF;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;QACd;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;QACd;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;QACd;;;;mBAA0E,EAAE,CAAC,IAAI,EAAE;WAAC;IACxF,CAAC;CAAA"}
1
+ {"version":3,"file":"chatbot-api-client.mock.js","sourceRoot":"","sources":["../../src/mocks/chatbot-api-client.mock.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,oBAAoB;IAAjC;QACI;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;QACd;;;;mBAGkC,EAAE,CAAC,IAAI,EAAE;WAAC;QAC5C;;;;mBAA2E,EAAE,CAAC,IAAI,EAAE;WAAC;QACrF;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;QACd;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;QACd;;;;mBACI,EAAE,CAAC,IAAI,EAAE;WAAC;IAClB,CAAC;CAAA"}
@@ -0,0 +1,30 @@
1
+ export { runChatErrorSharedTests } from './titan-chat-ui/chat-error.shared-tests';
2
+ export { runChatInputSharedTests } from './titan-chat-ui/chat-input.shared-tests';
3
+ export { runChatLogSharedTests } from './titan-chat-ui/chat-log.shared-tests';
4
+ export { runChatMessagesSharedTests } from './titan-chat-ui/chat-messages.shared-tests';
5
+ export { runChatNotificationsTests } from './titan-chat-ui/chat-notifications.shared-tests';
6
+ export { runChatSharedTests } from './titan-chat-ui/chat.shared-tests';
7
+ export { runChatTimerTests } from './titan-chat-ui/chat-timer.shared-tests';
8
+ export { runMessageContentFileSharedTests } from './titan-chat-ui/message-content-file.shared-tests';
9
+ export { runMessageUserSharedTests } from './titan-chat-ui/message-user.shared-tests';
10
+ export { runMessageTypingSharedTests } from './titan-chat-ui/message-typing.shared-tests';
11
+ export { runMessageAgentSharedTests } from './titan-chat-ui/message-agent.shared-tests';
12
+ export { runMessageSystemSharedTests } from './titan-chat-ui/message-system.shared-tests';
13
+ export { runMessageTimeoutSharedTests } from './titan-chat-ui/message-timeout.shared-tests';
14
+ export { runChatInputFileSharedTests } from './titan-chat-ui/chat-input-file.shared-tests';
15
+ export { runChatbotRestartDialogSharedTests } from './titan-chatbot-ui/chatbot-restart-dialog.shared-tests';
16
+ export { runChatbotRestartLinkSharedTests } from './titan-chatbot-ui/chatbot-restart-link.shared-tests';
17
+ export { runChatbotSharedTests } from './titan-chatbot-ui/chatbot.shared-tests';
18
+ export { runChatbotTitanChatbotSharedTests } from './titan-chatbot-ui/chatbot-titan-chatbot.shared-tests';
19
+ export { runChatbotLiveSharedTests } from './titan-chatbot-ui/chatbot-live.shared-tests';
20
+ export { runChatbotHelpCenterSharedTests } from './titan-chatbot-ui/chatbot-help-center.shared-tests';
21
+ export { runChatbotFiltersSharedTests } from './titan-chatbot-ui/chatbot-filters.shared-tests';
22
+ export { runChatbotMessageTypingSharedTests } from './titan-chatbot-ui/chatbot-message-typing.shared-tests';
23
+ export { runChatbotMessageAnswerReadonlySharedTests } from './titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests';
24
+ export { runChatbotMessageAnswerSharedTests } from './titan-chatbot-ui/chatbot-message-answer.shared-tests';
25
+ export { runChatbotLinksSharedTests } from './titan-chatbot-ui/chatbot-links.shared-tests';
26
+ export { runChatbotSessionFeedbackModalSharedTests } from './titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests';
27
+ export { runChatbotMessageFeedbackFormSharedTests } from './titan-chatbot-ui/chatbot-message-feedback-form.shared-tests';
28
+ export { runChatbotMessageFeedbackFormGuardrailSharedTests } from './titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests';
29
+ export { runChatbotMessageFeedbackPopoverSharedTests } from './titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests';
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,0CAA0C,EAAE,MAAM,iEAAiE,CAAC;AAC7H,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,yCAAyC,EAAE,MAAM,gEAAgE,CAAC;AAC3H,OAAO,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAC;AACzH,OAAO,EAAE,iDAAiD,EAAE,MAAM,yEAAyE,CAAC;AAC5I,OAAO,EAAE,2CAA2C,EAAE,MAAM,kEAAkE,CAAC"}
@@ -0,0 +1,30 @@
1
+ export { runChatErrorSharedTests } from './titan-chat-ui/chat-error.shared-tests';
2
+ export { runChatInputSharedTests } from './titan-chat-ui/chat-input.shared-tests';
3
+ export { runChatLogSharedTests } from './titan-chat-ui/chat-log.shared-tests';
4
+ export { runChatMessagesSharedTests } from './titan-chat-ui/chat-messages.shared-tests';
5
+ export { runChatNotificationsTests } from './titan-chat-ui/chat-notifications.shared-tests';
6
+ export { runChatSharedTests } from './titan-chat-ui/chat.shared-tests';
7
+ export { runChatTimerTests } from './titan-chat-ui/chat-timer.shared-tests';
8
+ export { runMessageContentFileSharedTests } from './titan-chat-ui/message-content-file.shared-tests';
9
+ export { runMessageUserSharedTests } from './titan-chat-ui/message-user.shared-tests';
10
+ export { runMessageTypingSharedTests } from './titan-chat-ui/message-typing.shared-tests';
11
+ export { runMessageAgentSharedTests } from './titan-chat-ui/message-agent.shared-tests';
12
+ export { runMessageSystemSharedTests } from './titan-chat-ui/message-system.shared-tests';
13
+ export { runMessageTimeoutSharedTests } from './titan-chat-ui/message-timeout.shared-tests';
14
+ export { runChatInputFileSharedTests } from './titan-chat-ui/chat-input-file.shared-tests';
15
+ export { runChatbotRestartDialogSharedTests } from './titan-chatbot-ui/chatbot-restart-dialog.shared-tests';
16
+ export { runChatbotRestartLinkSharedTests } from './titan-chatbot-ui/chatbot-restart-link.shared-tests';
17
+ export { runChatbotSharedTests } from './titan-chatbot-ui/chatbot.shared-tests';
18
+ export { runChatbotTitanChatbotSharedTests } from './titan-chatbot-ui/chatbot-titan-chatbot.shared-tests';
19
+ export { runChatbotLiveSharedTests } from './titan-chatbot-ui/chatbot-live.shared-tests';
20
+ export { runChatbotHelpCenterSharedTests } from './titan-chatbot-ui/chatbot-help-center.shared-tests';
21
+ export { runChatbotFiltersSharedTests } from './titan-chatbot-ui/chatbot-filters.shared-tests';
22
+ export { runChatbotMessageTypingSharedTests } from './titan-chatbot-ui/chatbot-message-typing.shared-tests';
23
+ export { runChatbotMessageAnswerReadonlySharedTests } from './titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests';
24
+ export { runChatbotMessageAnswerSharedTests } from './titan-chatbot-ui/chatbot-message-answer.shared-tests';
25
+ export { runChatbotLinksSharedTests } from './titan-chatbot-ui/chatbot-links.shared-tests';
26
+ export { runChatbotSessionFeedbackModalSharedTests } from './titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests';
27
+ export { runChatbotMessageFeedbackFormSharedTests } from './titan-chatbot-ui/chatbot-message-feedback-form.shared-tests';
28
+ export { runChatbotMessageFeedbackFormGuardrailSharedTests } from './titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests';
29
+ export { runChatbotMessageFeedbackPopoverSharedTests } from './titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests';
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tests/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,0CAA0C,EAAE,MAAM,iEAAiE,CAAC;AAC7H,OAAO,EAAE,kCAAkC,EAAE,MAAM,wDAAwD,CAAC;AAC5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,yCAAyC,EAAE,MAAM,gEAAgE,CAAC;AAC3H,OAAO,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAC;AACzH,OAAO,EAAE,iDAAiD,EAAE,MAAM,yEAAyE,CAAC;AAC5I,OAAO,EAAE,2CAA2C,EAAE,MAAM,kEAAkE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ export declare function runChatErrorSharedTests(ChatErrorComponent: FC): void;
3
+ //# sourceMappingURL=chat-error.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-error.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/chat-error.shared-tests.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,wBAAgB,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,QA4K7D"}
@@ -0,0 +1,138 @@
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 runChatErrorSharedTests(ChatErrorComponent) {
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 = (onAfterInit) => cy
16
+ .wrap(null)
17
+ .then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(ChatErrorComponent, {}), onAfterInit));
18
+ it('should render', () => {
19
+ render(() => {
20
+ cy.spy(chatUiStore, 'recover').as('recoverSpy');
21
+ chatUiStore.setError('Custom error message Custom error message Custom error message Custom error message Custom error message Custom error message Custom error message', {
22
+ title: 'Custom error title',
23
+ recoverStrategy: {
24
+ recoverButtonTitle: 'Recover button',
25
+ },
26
+ data: { customData: 'Custom data' },
27
+ });
28
+ });
29
+ ChatUiSelectors.chatError.should('contain.text', 'Custom error title');
30
+ ChatUiSelectors.chatErrorText.should('have.text', 'Custom error message Custom error message Custom error message Custom error message Custom error message Custom error message Custom error message');
31
+ ChatUiSelectors.chatErrorRecover.should('have.text', 'Recover button').click();
32
+ cy.get('@recoverSpy').should('have.been.calledOnce');
33
+ });
34
+ it('should not render when no error is set', () => {
35
+ render();
36
+ ChatUiSelectors.chatError.should('not.exist');
37
+ });
38
+ it('should render error without recover button when no recover strategy is provided', () => {
39
+ render(() => {
40
+ chatUiStore.setError('Error without recovery', {
41
+ title: 'Non-recoverable error',
42
+ });
43
+ });
44
+ ChatUiSelectors.chatError.should('be.visible');
45
+ ChatUiSelectors.chatError.should('contain.text', 'Non-recoverable error');
46
+ ChatUiSelectors.chatErrorText.should('have.text', 'Error without recovery');
47
+ ChatUiSelectors.chatErrorRecover.should('not.exist');
48
+ });
49
+ it('should render with default title when no title is provided', () => {
50
+ render(() => {
51
+ chatUiStore.setError('Error message without title');
52
+ });
53
+ ChatUiSelectors.chatError.should('be.visible');
54
+ ChatUiSelectors.chatErrorText.should('have.text', 'Error message without title');
55
+ });
56
+ it('should handle multiline error messages correctly', () => {
57
+ render(() => {
58
+ chatUiStore.setError('First line\nSecond line\nThird line', {
59
+ title: 'Multiline Error',
60
+ });
61
+ });
62
+ ChatUiSelectors.chatError.should('be.visible');
63
+ ChatUiSelectors.chatError.should('contain.text', 'Multiline Error');
64
+ ChatUiSelectors.chatErrorText.should('contain.text', 'First line');
65
+ ChatUiSelectors.chatErrorText.should('contain.text', 'Second line');
66
+ ChatUiSelectors.chatErrorText.should('contain.text', 'Third line');
67
+ });
68
+ it('should update error content when error changes', () => {
69
+ render(() => {
70
+ chatUiStore.setError('First error', { title: 'First Title' });
71
+ });
72
+ ChatUiSelectors.chatError.should('contain.text', 'First Title');
73
+ ChatUiSelectors.chatErrorText.should('have.text', 'First error');
74
+ cy.then(() => {
75
+ chatUiStore.setError('Second error', { title: 'Second Title' });
76
+ });
77
+ ChatUiSelectors.chatError.should('contain.text', 'Second Title');
78
+ ChatUiSelectors.chatErrorText.should('have.text', 'Second error');
79
+ });
80
+ it('should hide error when error is cleared', () => {
81
+ render(() => {
82
+ chatUiStore.setError('Temporary error', { title: 'Error' });
83
+ });
84
+ ChatUiSelectors.chatError.should('be.visible');
85
+ cy.then(() => {
86
+ chatUiStore.resetError(chatUiStore.status);
87
+ });
88
+ ChatUiSelectors.chatError.should('not.exist');
89
+ });
90
+ it('should call recover method when recover button is clicked multiple times', () => {
91
+ render(() => {
92
+ cy.spy(chatUiStore, 'recover').as('recoverSpy');
93
+ chatUiStore.setError('Recoverable error', {
94
+ title: 'Connection Error',
95
+ recoverStrategy: {
96
+ recoverButtonTitle: 'Retry Connection',
97
+ },
98
+ });
99
+ });
100
+ ChatUiSelectors.chatErrorRecover.should('have.text', 'Retry Connection');
101
+ ChatUiSelectors.chatErrorRecover.click();
102
+ cy.get('@recoverSpy').should('have.been.calledOnce');
103
+ ChatUiSelectors.chatErrorRecover.click();
104
+ cy.get('@recoverSpy').should('have.been.calledTwice');
105
+ });
106
+ it('should render with custom recover button text', () => {
107
+ render(() => {
108
+ chatUiStore.setError('Network timeout', {
109
+ title: 'Connection Failed',
110
+ recoverStrategy: {
111
+ recoverButtonTitle: 'Try Again Now',
112
+ },
113
+ });
114
+ });
115
+ ChatUiSelectors.chatErrorRecover.should('have.text', 'Try Again Now');
116
+ ChatUiSelectors.chatErrorRecover.should('be.visible');
117
+ });
118
+ it('should maintain error data when provided', () => {
119
+ render(() => {
120
+ chatUiStore.setError('Error with data', {
121
+ title: 'Data Error',
122
+ data: { errorCode: 500, timestamp: '2023-10-01' },
123
+ });
124
+ });
125
+ ChatUiSelectors.chatError.should('be.visible');
126
+ ChatUiSelectors.chatError.should('contain.text', 'Data Error');
127
+ ChatUiSelectors.chatErrorText.should('have.text', 'Error with data');
128
+ // Verify the error data is accessible through the store
129
+ cy.then(() => {
130
+ var _a;
131
+ expect((_a = chatUiStore.error) === null || _a === void 0 ? void 0 : _a.data).to.deep.equal({
132
+ errorCode: 500,
133
+ timestamp: '2023-10-01',
134
+ });
135
+ });
136
+ });
137
+ }
138
+ //# sourceMappingURL=chat-error.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-error.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/chat-error.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ interface ChatInputFileSharedTestsOptions {
3
+ isAnvil2?: boolean;
4
+ }
5
+ export declare function runChatInputFileSharedTests(ChatInputFileComponent: FC, options?: ChatInputFileSharedTestsOptions): void;
6
+ export {};
7
+ //# sourceMappingURL=chat-input-file.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input-file.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/chat-input-file.shared-tests.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,UAAU,+BAA+B;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,2BAA2B,CACvC,sBAAsB,EAAE,EAAE,EAC1B,OAAO,GAAE,+BAAoC,QAmKhD"}
@@ -0,0 +1,123 @@
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 runChatInputFileSharedTests(ChatInputFileComponent, 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 = (onAfterInit) => cy
16
+ .wrap(null)
17
+ .then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(ChatInputFileComponent, {}), onAfterInit));
18
+ const selectFile = (fileName, mimeType = 'text/plain', contents = '') => {
19
+ cy.get('input[type="file"]').selectFile({
20
+ contents: Cypress.Buffer.from(contents),
21
+ fileName,
22
+ mimeType,
23
+ lastModified: Date.now(),
24
+ }, { force: true });
25
+ };
26
+ it('should render the upload button when no file is selected', () => {
27
+ render(() => {
28
+ chatUiStore.setFilePickerEnabled(true);
29
+ });
30
+ ChatUiSelectors.chatUploadFile.should('be.visible');
31
+ if (options.isAnvil2) {
32
+ cy.contains('e.g. Screenshot of issue').should('be.visible');
33
+ }
34
+ });
35
+ it('should not render when file picker is disabled', () => {
36
+ render(() => {
37
+ chatUiStore.setFilePickerEnabled(false);
38
+ });
39
+ ChatUiSelectors.chatUploadFile.should('not.exist');
40
+ });
41
+ it('should display the file name and action buttons after selecting a file', () => {
42
+ render(() => {
43
+ chatUiStore.setFilePickerEnabled(true);
44
+ });
45
+ const fileName = 'test-image.png';
46
+ selectFile(fileName);
47
+ // Verify the file name is displayed
48
+ ChatUiSelectors.chatUploadFile.should('be.visible').and('contain', fileName);
49
+ if (options.isAnvil2) {
50
+ ChatUiSelectors.chatUploadFileEdit.should('be.visible');
51
+ ChatUiSelectors.chatUploadFileDelete.should('be.visible');
52
+ ChatUiSelectors.chatUploadFileBtn.should('not.exist');
53
+ }
54
+ // Verify the store received the file
55
+ cy.wrap(chatUiStore).its('file.displayName').should('eq', fileName);
56
+ });
57
+ if (options.isAnvil2) {
58
+ it('should allow replacing an already selected file', () => {
59
+ const initialFileName = 'test-image.png';
60
+ const newFileName = 'another-document.pdf';
61
+ render(() => {
62
+ chatUiStore.setFilePickerEnabled(true);
63
+ });
64
+ selectFile(initialFileName);
65
+ ChatUiSelectors.chatUploadFileName.should('be.visible').and('contain', initialFileName);
66
+ cy.wrap(chatUiStore).its('file.displayName').should('eq', initialFileName);
67
+ selectFile(newFileName, 'application/pdf');
68
+ ChatUiSelectors.chatUploadFileName.should('be.visible').and('contain', newFileName);
69
+ cy.wrap(chatUiStore).its('file.displayName').should('eq', newFileName);
70
+ });
71
+ it('should allow deleting a selected file', () => {
72
+ const fileName = 'test-image.png';
73
+ render(() => {
74
+ chatUiStore.setFilePickerEnabled(true);
75
+ });
76
+ selectFile(fileName);
77
+ // Verify the file name is displayed
78
+ ChatUiSelectors.chatUploadFileName.should('be.visible').and('contain', fileName);
79
+ // Click the delete button
80
+ ChatUiSelectors.chatUploadFileDelete.click();
81
+ // Verify the file input is reset
82
+ ChatUiSelectors.chatUploadFile.should('be.visible');
83
+ ChatUiSelectors.chatUploadFileName.should('not.exist');
84
+ ChatUiSelectors.chatUploadFileEdit.should('not.exist');
85
+ ChatUiSelectors.chatUploadFileDelete.should('not.exist');
86
+ // Verify the store no longer has a file
87
+ cy.wrap(chatUiStore).its('file').should('be.undefined');
88
+ });
89
+ it('should handle file selection with different file types', () => {
90
+ render(() => {
91
+ chatUiStore.setFilePickerEnabled(true);
92
+ });
93
+ // Test PDF file
94
+ const pdfFileName = 'test-document.pdf';
95
+ selectFile(pdfFileName, 'application/pdf', 'test file content');
96
+ ChatUiSelectors.chatUploadFileName.should('contain', pdfFileName);
97
+ cy.wrap(chatUiStore).its('file.displayName').should('eq', pdfFileName);
98
+ // Replace with image file
99
+ const imageFileName = 'test-image.jpg';
100
+ selectFile(imageFileName, 'image/jpeg');
101
+ ChatUiSelectors.chatUploadFileName.should('contain', imageFileName);
102
+ cy.wrap(chatUiStore).its('file.displayName').should('eq', imageFileName);
103
+ });
104
+ it('should maintain file picker state during interactions', () => {
105
+ render(() => {
106
+ chatUiStore.setFilePickerEnabled(true);
107
+ });
108
+ const fileName = 'test-file.txt';
109
+ selectFile(fileName);
110
+ // Verify file is selected
111
+ ChatUiSelectors.chatUploadFileName.should('be.visible').and('contain', fileName);
112
+ // Edit button should be visible and functional
113
+ ChatUiSelectors.chatUploadFileEdit.should('be.visible');
114
+ // Delete and re-upload
115
+ ChatUiSelectors.chatUploadFileDelete.click();
116
+ ChatUiSelectors.chatUploadFile.should('be.visible');
117
+ // Select file again
118
+ selectFile(fileName);
119
+ ChatUiSelectors.chatUploadFileName.should('be.visible').and('contain', fileName);
120
+ });
121
+ }
122
+ }
123
+ //# sourceMappingURL=chat-input-file.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input-file.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/chat-input-file.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ export declare function runChatInputSharedTests(ChatInputComponent: FC): void;
3
+ //# sourceMappingURL=chat-input.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/chat-input.shared-tests.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,wBAAgB,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,QAsF7D"}
@@ -0,0 +1,71 @@
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 runChatInputSharedTests(ChatInputComponent) {
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 = (onAfterInit) => cy
16
+ .wrap(null)
17
+ .then(() => testRenderWrapper(chatUiStore, chatUiBackendStore, _jsx(ChatInputComponent, {}), onAfterInit));
18
+ it('should render chat input', () => {
19
+ render();
20
+ ChatUiSelectors.chatInput.should('be.visible');
21
+ ChatUiSelectors.chatSend.should('be.visible');
22
+ });
23
+ it('should send message when send button is clicked', () => {
24
+ render(() => {
25
+ cy.spy(chatUiStore, 'sendMessageText').as('sendMessageSpy');
26
+ });
27
+ const text = 'Hello, world! '.repeat(30).trim();
28
+ ChatUiSelectors.chatInput.type(text, { delay: 0 });
29
+ cy.wait(1);
30
+ ChatUiSelectors.chatInput.should('have.value', text);
31
+ ChatUiSelectors.chatSend.click();
32
+ ChatUiSelectors.chatInput.should('have.value', '');
33
+ cy.get('@sendMessageSpy').should('have.been.calledWith', text);
34
+ });
35
+ it('should send message when Enter key is pressed', () => {
36
+ render(() => {
37
+ cy.spy(chatUiStore, 'sendMessageText').as('sendMessageSpy');
38
+ });
39
+ const text = 'Test message with Enter key';
40
+ ChatUiSelectors.chatInput.type(text, { delay: 0 });
41
+ cy.wait(1);
42
+ ChatUiSelectors.chatInput.type('{enter}');
43
+ ChatUiSelectors.chatInput.should('have.value', '');
44
+ cy.get('@sendMessageSpy').should('have.been.calledWith', text);
45
+ });
46
+ it('should not send empty message', () => {
47
+ render(() => {
48
+ cy.spy(chatUiStore, 'sendMessageText').as('sendMessageSpy');
49
+ });
50
+ ChatUiSelectors.chatInput.type(' ', { delay: 0 });
51
+ cy.wait(1);
52
+ ChatUiSelectors.chatSend.click();
53
+ cy.get('@sendMessageSpy').should('not.have.been.called');
54
+ ChatUiSelectors.chatInput.should('have.value', ' ');
55
+ });
56
+ it('should handle long text input', () => {
57
+ render();
58
+ const longText = 'This is a very long message that exceeds normal length. '.repeat(50);
59
+ ChatUiSelectors.chatInput.type(longText, { delay: 0 });
60
+ ChatUiSelectors.chatInput.should('have.value', longText);
61
+ });
62
+ it('should disable send button when input is empty', () => {
63
+ render();
64
+ ChatUiSelectors.chatSend.should('be.disabled');
65
+ ChatUiSelectors.chatInput.type('Some text', { delay: 0 });
66
+ ChatUiSelectors.chatSend.should('not.be.disabled');
67
+ ChatUiSelectors.chatInput.clear();
68
+ ChatUiSelectors.chatSend.should('be.disabled');
69
+ });
70
+ }
71
+ //# sourceMappingURL=chat-input.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-input.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/chat-input.shared-tests.tsx"],"names":[],"mappings":";AACA,OAAO,EACH,2BAA2B,EAC3B,mBAAmB,GAItB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,UAAU,uBAAuB,CAAC,kBAAsB;IAC1D,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,WAAwB,EAAE,EAAE,CACxC,EAAE;SACG,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,CAAC,GAAG,EAAE,CACP,iBAAiB,CACb,WAAW,EACX,kBAAkB,EAClB,KAAC,kBAAkB,KAAG,EACtB,WAAW,CACd,CACJ,CAAC;IAEV,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAChC,MAAM,EAAE,CAAC;QACT,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/C,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,GAAG,EAAE;YACR,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACX,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrD,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,GAAG,EAAE;YACR,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,6BAA6B,CAAC;QAC3C,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACX,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,GAAG,EAAE;YACR,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACX,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACzD,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,CAAC;QAET,MAAM,QAAQ,GAAG,0DAA0D,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,CAAC;QAET,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1D,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnD,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAClC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ChatCustomizations } from '@servicetitan/titan-chat-ui-common';
2
+ import { FC } from 'react';
3
+ interface ChatLogProps {
4
+ className?: string;
5
+ customizations?: ChatCustomizations;
6
+ }
7
+ export declare function runChatLogSharedTests(ChatLogComponent: FC<ChatLogProps>): void;
8
+ export {};
9
+ //# sourceMappingURL=chat-log.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-log.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chat-ui/chat-log.shared-tests.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,kBAAkB,EAIrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAI3B,UAAU,YAAY;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACvC;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,QAkGvE"}