@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
@@ -0,0 +1,130 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CHATBOT_API_CLIENT, CHATBOT_UI_STORE_TOKEN, Models, ModelsMocks, } from '@servicetitan/titan-chatbot-api';
3
+ import { testInitContainerChatbot, testRenderWrapperChatbot } from '../..';
4
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
5
+ export function runChatbotSessionFeedbackModalSharedTests(ChatbotSessionFeedbackModalComponent, wrapperComponent) {
6
+ let container;
7
+ let api;
8
+ let chatbotUiStore;
9
+ const mockApiClient = () => {
10
+ api.postSession = cy.stub().resolves(ModelsMocks.mockSession());
11
+ api.getOptions = cy.stub().resolves(ModelsMocks.mockFrontendModel());
12
+ };
13
+ beforeEach(() => {
14
+ container = testInitContainerChatbot();
15
+ api = container.get(CHATBOT_API_CLIENT);
16
+ chatbotUiStore = container.get(CHATBOT_UI_STORE_TOKEN);
17
+ mockApiClient();
18
+ cy.viewport(550, 800);
19
+ });
20
+ const assertButtonSelection = (element, selected) => {
21
+ element.should($el => {
22
+ const hasClass = $el.hasClass('Button--selected');
23
+ const hasAttr = $el.attr('aria-pressed') === 'true';
24
+ expect(hasClass || hasAttr).to.equal(selected);
25
+ });
26
+ };
27
+ const render = (onAfterInit, onClose = cy.stub()) => {
28
+ return cy.wrap(null).then(() => {
29
+ const TestComponent = () => {
30
+ const component = _jsx(ChatbotSessionFeedbackModalComponent, { onClose: onClose });
31
+ return wrapperComponent ? wrapperComponent(component) : component;
32
+ };
33
+ return testRenderWrapperChatbot(container, _jsx(TestComponent, {}), onAfterInit);
34
+ });
35
+ };
36
+ it('should render the feedback modal with all elements', () => {
37
+ render();
38
+ ChatUiSelectors.chatbotSessionFeedbackModal.should('be.visible');
39
+ ChatUiSelectors.chatbotSessionFeedbackThumbsUp.should('be.visible');
40
+ ChatUiSelectors.chatbotSessionFeedbackThumbsDown.should('be.visible');
41
+ ChatUiSelectors.chatbotSessionFeedbackComment.should('be.visible');
42
+ ChatUiSelectors.chatbotSessionFeedbackCancel.should('be.visible');
43
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.should('be.visible');
44
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.should('be.disabled');
45
+ });
46
+ it('should enable submit button when thumbs up is selected', () => {
47
+ render();
48
+ ChatUiSelectors.chatbotSessionFeedbackThumbsUp.click();
49
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.should('not.be.disabled');
50
+ assertButtonSelection(ChatUiSelectors.chatbotSessionFeedbackThumbsUp, true);
51
+ assertButtonSelection(ChatUiSelectors.chatbotSessionFeedbackThumbsDown, false);
52
+ });
53
+ it('should enable submit button when thumbs down is selected', () => {
54
+ render();
55
+ ChatUiSelectors.chatbotSessionFeedbackThumbsDown.click();
56
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.should('not.be.disabled');
57
+ assertButtonSelection(ChatUiSelectors.chatbotSessionFeedbackThumbsDown, true);
58
+ });
59
+ it('should allow switching between thumbs up and thumbs down', () => {
60
+ render();
61
+ ChatUiSelectors.chatbotSessionFeedbackThumbsUp.click();
62
+ assertButtonSelection(ChatUiSelectors.chatbotSessionFeedbackThumbsUp, true);
63
+ assertButtonSelection(ChatUiSelectors.chatbotSessionFeedbackThumbsDown, false);
64
+ ChatUiSelectors.chatbotSessionFeedbackThumbsDown.click();
65
+ assertButtonSelection(ChatUiSelectors.chatbotSessionFeedbackThumbsDown, true);
66
+ assertButtonSelection(ChatUiSelectors.chatbotSessionFeedbackThumbsUp, false);
67
+ });
68
+ it('should allow entering a comment', () => {
69
+ render();
70
+ const testComment = 'This is my feedback comment';
71
+ ChatUiSelectors.chatbotSessionFeedbackComment.type(testComment);
72
+ ChatUiSelectors.chatbotSessionFeedbackComment.should('have.value', testComment);
73
+ });
74
+ it('should call onClose when cancel button is clicked', () => {
75
+ const onClose = cy.stub().as('onClose');
76
+ render(undefined, onClose);
77
+ ChatUiSelectors.chatbotSessionFeedbackCancel.click();
78
+ cy.then(() => {
79
+ cy.get('@onClose').should('have.been.called');
80
+ });
81
+ });
82
+ it('should submit feedback with thumbs up and close modal', () => {
83
+ const onClose = cy.stub().as('onClose');
84
+ render(undefined, onClose);
85
+ ChatUiSelectors.chatbotSessionFeedbackThumbsUp.click();
86
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.click();
87
+ cy.wait(1).then(() => {
88
+ cy.get('@onClose').should('have.been.called');
89
+ });
90
+ });
91
+ it('should submit feedback with thumbs down, comment and close modal', () => {
92
+ const onClose = cy.stub().as('onClose');
93
+ render(undefined, onClose);
94
+ const testComment = 'This did not help me at all';
95
+ ChatUiSelectors.chatbotSessionFeedbackThumbsDown.click();
96
+ ChatUiSelectors.chatbotSessionFeedbackComment.type(testComment);
97
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.click();
98
+ cy.wait(1).then(() => {
99
+ cy.get('@onClose').should('have.been.called');
100
+ });
101
+ });
102
+ it('should send session feedback to the store when submitting', () => {
103
+ const onClose = cy.stub();
104
+ render(undefined, onClose);
105
+ cy.spy(chatbotUiStore, 'sendSessionFeedback').as('sendSessionFeedback');
106
+ ChatUiSelectors.chatbotSessionFeedbackThumbsUp.click();
107
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.click();
108
+ cy.get('@sendSessionFeedback').should('have.been.called');
109
+ cy.get('@sendSessionFeedback').should('have.been.calledWith', new Models.Feedback({
110
+ sessionId: ModelsMocks.mockSession().id,
111
+ rating: Models.FeedbackRatings.ThumbsUp,
112
+ }));
113
+ });
114
+ it('should send session feedback with comment when submitting', () => {
115
+ const onClose = cy.stub();
116
+ render(undefined, onClose);
117
+ cy.spy(chatbotUiStore, 'sendSessionFeedback').as('sendSessionFeedback');
118
+ const testComment = 'Great experience!';
119
+ ChatUiSelectors.chatbotSessionFeedbackThumbsUp.click();
120
+ ChatUiSelectors.chatbotSessionFeedbackComment.type(testComment);
121
+ ChatUiSelectors.chatbotSessionFeedbackSubmit.click();
122
+ cy.get('@sendSessionFeedback').should('have.been.called');
123
+ cy.get('@sendSessionFeedback').should('have.been.calledWithMatch', new Models.Feedback({
124
+ sessionId: ModelsMocks.mockSession().id,
125
+ rating: Models.FeedbackRatings.ThumbsUp,
126
+ description: testComment,
127
+ }));
128
+ });
129
+ }
130
+ //# sourceMappingURL=chatbot-session-feedback-modal.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-session-feedback-modal.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.tsx"],"names":[],"mappings":";AACA,OAAO,EACH,kBAAkB,EAClB,sBAAsB,EAGtB,MAAM,EACN,WAAW,GACd,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAgB,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAMhE,MAAM,UAAU,yCAAyC,CACrD,oCAA2E,EAC3E,gBAA4D;IAE5D,IAAI,SAAoB,CAAC;IACzB,IAAI,GAAsC,CAAC;IAC3C,IAAI,cAA+B,CAAC;IAEpC,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACZ,SAAS,GAAG,wBAAwB,EAAE,CAAC;QACvC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAoC,kBAAkB,CAAC,CAAC;QAC3E,cAAc,GAAG,SAAS,CAAC,GAAG,CAAiB,sBAAsB,CAAC,CAAC;QACvE,aAAa,EAAE,CAAC;QAChB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,CAAC,OAAkC,EAAE,QAAiB,EAAE,EAAE;QACpF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;YACpD,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,WAAwB,EAAE,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE;QAC7D,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM,aAAa,GAAO,GAAG,EAAE;gBAC3B,MAAM,SAAS,GAAG,KAAC,oCAAoC,IAAC,OAAO,EAAE,OAAO,GAAI,CAAC;gBAC7E,OAAO,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,CAAC,CAAC;YACF,OAAO,wBAAwB,CAAC,SAAS,EAAE,KAAC,aAAa,KAAG,EAAE,WAAW,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,CAAC;QAET,eAAe,CAAC,2BAA2B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjE,eAAe,CAAC,8BAA8B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpE,eAAe,CAAC,gCAAgC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACtE,eAAe,CAAC,6BAA6B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnE,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClE,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClE,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,EAAE,CAAC;QAET,eAAe,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QACvD,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACvE,qBAAqB,CAAC,eAAe,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;QAC5E,qBAAqB,CAAC,eAAe,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,MAAM,EAAE,CAAC;QAET,eAAe,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC;QACzD,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACvE,qBAAqB,CAAC,eAAe,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,MAAM,EAAE,CAAC;QAET,eAAe,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QACvD,qBAAqB,CAAC,eAAe,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;QAC5E,qBAAqB,CAAC,eAAe,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAE/E,eAAe,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC;QACzD,qBAAqB,CAAC,eAAe,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;QAC9E,qBAAqB,CAAC,eAAe,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,EAAE,CAAC;QAET,MAAM,WAAW,GAAG,6BAA6B,CAAC;QAClD,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,eAAe,CAAC,6BAA6B,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3B,eAAe,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QACrD,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3B,eAAe,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QACvD,eAAe,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QAErD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3B,MAAM,WAAW,GAAG,6BAA6B,CAAC;QAClD,eAAe,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC;QACzD,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,eAAe,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QAErD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3B,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAExE,eAAe,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QACvD,eAAe,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QAErD,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC1D,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CACjC,sBAAsB,EACtB,IAAI,MAAM,CAAC,QAAQ,CAAC;YAChB,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE;YACvC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ;SAC1C,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3B,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAExE,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACxC,eAAe,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;QACvD,eAAe,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,eAAe,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QAErD,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC1D,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CACjC,2BAA2B,EAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC;YAChB,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE;YACvC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ;YACvC,WAAW,EAAE,WAAW;SAC3B,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -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 runChatbotTitanChatbotSharedTests(ChatbotComponent: FC<IChatbotProps>, wrapperComponent?: (component: ReactElement) => ReactElement): void;
8
+ export {};
9
+ //# sourceMappingURL=chatbot-titan-chatbot.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-titan-chatbot.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMH,qBAAqB,EAOxB,MAAM,iCAAiC,CAAC;AAEzC,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,iCAAiC,CAC7C,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,EACnC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,YAAY,QAgK/D"}
@@ -0,0 +1,157 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Log } from '@servicetitan/log-service';
3
+ import { Container, Provider } from '@servicetitan/react-ioc';
4
+ import { ApiClientTitanChat, CHATBOT_API_CLIENT, CHATBOT_CLIENT_SETTINGS, CHATBOT_UI_BACKEND_STORE_TOKEN, CHATBOT_UI_STORE_TOKEN, ChatbotUiBackendStore, ChatbotUiStore, Models, } from '@servicetitan/titan-chatbot-api';
5
+ import { mount } from 'cypress/react';
6
+ import { useMemo } from 'react';
7
+ import { CypressMocks } from '../..';
8
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
9
+ const ChatbotBaseUrl = 'https://chatbot-api.example.com/base/url';
10
+ const ChatbotVersion = 2;
11
+ const initializeTitanChatbotContainer = () => {
12
+ const rootContainer = new Container();
13
+ const container = new Container();
14
+ container.parent = rootContainer;
15
+ container.bind(Log).to(CypressMocks.LogMock).inSingletonScope();
16
+ container.bind(CHATBOT_UI_STORE_TOKEN).to(ChatbotUiStore).inSingletonScope();
17
+ container
18
+ .bind(CHATBOT_UI_BACKEND_STORE_TOKEN)
19
+ .to(ChatbotUiBackendStore)
20
+ .inSingletonScope();
21
+ // Set up Helpcenter API client
22
+ const clientSettings = {
23
+ clientId: 'TitanChatClientId',
24
+ version: String(ChatbotVersion),
25
+ constructorParametersFactory: () => ({
26
+ baseUrl: ChatbotBaseUrl,
27
+ }),
28
+ };
29
+ container
30
+ .bind(CHATBOT_CLIENT_SETTINGS)
31
+ .toConstantValue(clientSettings);
32
+ container
33
+ .bind(CHATBOT_API_CLIENT)
34
+ .to(ApiClientTitanChat.ChatbotApiClient)
35
+ .inSingletonScope();
36
+ return container;
37
+ };
38
+ export function runChatbotTitanChatbotSharedTests(ChatbotComponent, wrapperComponent) {
39
+ let container;
40
+ let log;
41
+ let apiClientSettings;
42
+ let apiClient;
43
+ let uiStore;
44
+ let uiBackendStore;
45
+ beforeEach(() => {
46
+ container = initializeTitanChatbotContainer();
47
+ log = container.get(Log);
48
+ apiClientSettings =
49
+ container.get(CHATBOT_CLIENT_SETTINGS);
50
+ apiClient = container.get(CHATBOT_API_CLIENT);
51
+ uiStore = container.get(CHATBOT_UI_STORE_TOKEN);
52
+ uiBackendStore = container.get(CHATBOT_UI_BACKEND_STORE_TOKEN);
53
+ cy.viewport(550, 800);
54
+ cy.clock(Date.parse('2023-10-01T00:00:00Z'));
55
+ });
56
+ const render = () => {
57
+ const ChatbotWrapper = () => {
58
+ const customizationContext = useMemo(() => ({
59
+ filters: { enabled: true },
60
+ feedback: { title: 'TITLE' },
61
+ }), []);
62
+ const component = (_jsx(ChatbotComponent, { className: "h-100vh max-h-100vh of-x-hidden", customizations: customizationContext }));
63
+ const wrappedComponent = wrapperComponent ? wrapperComponent(component) : component;
64
+ return (_jsx(Provider, { singletons: [
65
+ {
66
+ provide: Log,
67
+ useValue: log,
68
+ },
69
+ {
70
+ provide: CHATBOT_CLIENT_SETTINGS,
71
+ useValue: apiClientSettings,
72
+ },
73
+ { provide: CHATBOT_API_CLIENT, useValue: apiClient },
74
+ {
75
+ provide: CHATBOT_UI_STORE_TOKEN,
76
+ useValue: uiStore,
77
+ },
78
+ {
79
+ provide: CHATBOT_UI_BACKEND_STORE_TOKEN,
80
+ useValue: uiBackendStore,
81
+ },
82
+ ], children: wrappedComponent }));
83
+ };
84
+ cy.spy(uiStore, 'run').as('runSpy');
85
+ mount(_jsx(ChatbotWrapper, {}));
86
+ return cy.wrap(new Promise(resolve => {
87
+ cy.get('@runSpy')
88
+ .should('have.been.calledOnce')
89
+ .then((invocation) => {
90
+ const initPromise = invocation.firstCall.returnValue;
91
+ initPromise.then(resolve);
92
+ });
93
+ }));
94
+ };
95
+ it('should render the chatbot with titan chat API', () => {
96
+ const optionsMock = CypressMocks.TC.Options;
97
+ const sessionMock = CypressMocks.TC.SessionPost;
98
+ const messageMock = CypressMocks.TC.MessagePost;
99
+ const messageFeedbackMock = CypressMocks.TC.MessageFeedbackPost;
100
+ const sessionFeedbackMock = CypressMocks.TC.SessionFeedbackPost;
101
+ const aliasOptions = optionsMock.intercept(ChatbotBaseUrl, ChatbotVersion);
102
+ const aliasSession = sessionMock.intercept(ChatbotBaseUrl, ChatbotVersion);
103
+ const aliasMessage = messageMock.intercept(ChatbotBaseUrl, ChatbotVersion);
104
+ const { aliasPostMessage, aliasPostSession } = CypressMocks.TC.interceptFeedback(ChatbotBaseUrl, ChatbotVersion);
105
+ render().then(() => {
106
+ cy.log('Getting options...');
107
+ cy.wait(aliasOptions).then(interception => {
108
+ var _a, _b;
109
+ expect(interception.request.url).to.equal(`${ChatbotBaseUrl}/api/v${ChatbotVersion}/options`);
110
+ expect((_a = interception.response) === null || _a === void 0 ? void 0 : _a.statusCode).to.equal(200);
111
+ expect((_b = interception.response) === null || _b === void 0 ? void 0 : _b.body).to.deep.equal(optionsMock.response);
112
+ });
113
+ // Ask the bot a question
114
+ cy.log('Sending message...');
115
+ ChatUiSelectors.chatInput.type(`${messageMock.request.question}{enter}`, { delay: 0 });
116
+ // Check that the session was created
117
+ cy.wait(aliasSession).then(interception => {
118
+ var _a, _b;
119
+ expect(interception.request.url).to.equal(`${ChatbotBaseUrl}/api/v${ChatbotVersion}/session`);
120
+ expect(interception.request.body).to.deep.equal(sessionMock.request);
121
+ expect((_a = interception.response) === null || _a === void 0 ? void 0 : _a.body).to.deep.equal(sessionMock.response);
122
+ expect((_b = interception.response) === null || _b === void 0 ? void 0 : _b.statusCode).to.equal(200);
123
+ });
124
+ // Check the user message is sent
125
+ cy.wait(aliasMessage).then(interception => {
126
+ var _a, _b;
127
+ expect(interception.request.url).to.equal(`${ChatbotBaseUrl}/api/v${ChatbotVersion}/message`);
128
+ expect(interception.request.body).to.deep.equal(messageMock.request);
129
+ expect((_a = interception.response) === null || _a === void 0 ? void 0 : _a.body).to.deep.equal(messageMock.response);
130
+ expect((_b = interception.response) === null || _b === void 0 ? void 0 : _b.statusCode).to.equal(200);
131
+ });
132
+ cy.tick(100);
133
+ // Send session feedback (manually)
134
+ cy.log('Sending session feedback...');
135
+ uiStore.sendSessionFeedback(new Models.Feedback(sessionFeedbackMock.request));
136
+ cy.wait(aliasPostSession).then(interception => {
137
+ var _a, _b;
138
+ expect(interception.request.url).to.equal(`${ChatbotBaseUrl}/api/v${ChatbotVersion}/feedback`);
139
+ expect(interception.request.body).to.deep.equal(sessionFeedbackMock.request);
140
+ expect((_a = interception.response) === null || _a === void 0 ? void 0 : _a.body).to.deep.equal(sessionFeedbackMock.response);
141
+ expect((_b = interception.response) === null || _b === void 0 ? void 0 : _b.statusCode).to.equal(200);
142
+ });
143
+ cy.tick(100);
144
+ // Check the feedback is sent with thumbs up
145
+ cy.log('Sending message feedback...');
146
+ ChatUiSelectors.chatbotMessageFeedbackThumbsUp.scrollIntoView().click({ force: true });
147
+ cy.wait(aliasPostMessage).then(interception => {
148
+ var _a, _b;
149
+ expect(interception.request.url).to.equal(`${ChatbotBaseUrl}/api/v${ChatbotVersion}/feedback`);
150
+ expect(interception.request.body).to.deep.equal(messageFeedbackMock.request);
151
+ expect((_a = interception.response) === null || _a === void 0 ? void 0 : _a.body).to.deep.equal(messageFeedbackMock.response);
152
+ expect((_b = interception.response) === null || _b === void 0 ? void 0 : _b.statusCode).to.equal(200);
153
+ });
154
+ });
155
+ });
156
+ }
157
+ //# sourceMappingURL=chatbot-titan-chatbot.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-titan-chatbot.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ChatbotCustomizations } from '@servicetitan/titan-chatbot-api';
2
+ import { CSSProperties, FC, ReactElement } from 'react';
3
+ interface IChatbotProps {
4
+ style?: CSSProperties;
5
+ customizations?: ChatbotCustomizations;
6
+ }
7
+ export declare function runChatbotSharedTests(ChatbotComponent: FC<IChatbotProps>, wrapperComponent?: (component: ReactElement) => ReactElement): void;
8
+ export {};
9
+ //# sourceMappingURL=chatbot.shared-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot.shared-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot.shared-tests.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,qBAAqB,EAKxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAIxD,UAAU,aAAa;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,cAAc,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,wBAAgB,qBAAqB,CACjC,gBAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,EACnC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,KAAK,YAAY,QAwI/D"}
@@ -0,0 +1,114 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CHATBOT_API_CLIENT, CHATBOT_UI_STORE_TOKEN, Models, ModelsMocks, } from '@servicetitan/titan-chatbot-api';
3
+ import { testInitContainerChatbot, testRenderWrapperChatbot } from '../..';
4
+ import { ChatUiSelectors } from '../../utils/chat-ui-selectors';
5
+ export function runChatbotSharedTests(ChatbotComponent, wrapperComponent) {
6
+ let container;
7
+ let api;
8
+ let chatbotUiStore;
9
+ const mockApiClient = () => {
10
+ api.postSession = cy.stub().resolves(ModelsMocks.mockSession());
11
+ api.getOptions = cy.stub().resolves(ModelsMocks.mockFrontendModel());
12
+ };
13
+ const mockAskBotApi = (answer) => {
14
+ api.postMessage = cy.stub().as('askBot').resolves(ModelsMocks.mockBotMessage({
15
+ answer,
16
+ }));
17
+ api.postFeedback = cy
18
+ .stub()
19
+ .as('askBotFeedback')
20
+ .resolves(ModelsMocks.mockFeedback({
21
+ rating: Models.FeedbackRatings.ThumbsUp,
22
+ }));
23
+ };
24
+ beforeEach(() => {
25
+ container = testInitContainerChatbot();
26
+ api = container.get(CHATBOT_API_CLIENT);
27
+ chatbotUiStore = container.get(CHATBOT_UI_STORE_TOKEN);
28
+ mockApiClient();
29
+ cy.viewport(550, 800);
30
+ });
31
+ const render = (onAfterInit) => {
32
+ return cy.wrap(null).then(() => {
33
+ const customizationContext = {
34
+ filters: { enabled: true },
35
+ feedback: { title: 'TITLE' },
36
+ };
37
+ const component = (_jsx(ChatbotComponent, { style: {
38
+ height: '100vh',
39
+ width: '100%',
40
+ maxWidth: '100vh',
41
+ overflowX: 'hidden',
42
+ }, customizations: customizationContext }));
43
+ const wrappedComponent = wrapperComponent ? wrapperComponent(component) : component;
44
+ return testRenderWrapperChatbot(container, wrappedComponent, onAfterInit);
45
+ });
46
+ };
47
+ const doAskBot = (message) => {
48
+ ChatUiSelectors.chatInput.type(`${message}{enter}`, { delay: 0 });
49
+ };
50
+ const doTriggerFile = () => {
51
+ chatbotUiStore.setFilePickerEnabled(true);
52
+ cy.then(() => {
53
+ ChatUiSelectors.chatUploadFile.should('be.visible');
54
+ });
55
+ };
56
+ it('should render the chatbot component', () => {
57
+ mockAskBotApi("Hello! I'm chatbot mocked response!!!");
58
+ render();
59
+ // Pick filter
60
+ ChatUiSelectors.chatbotFilterButton.first().click();
61
+ ChatUiSelectors.chatbotFilterOptions.find('label').first().click();
62
+ ChatUiSelectors.chatbotFilterButton.first().click();
63
+ // Ask chatbot
64
+ doAskBot('Hello, Chatbot!');
65
+ doAskBot('Hello, Chatbot! Hello, Chatbot! Hello, Chatbot! Hello, Chatbot! Hello, Chatbot!');
66
+ doTriggerFile();
67
+ // Check if the message is sent
68
+ cy.get('@askBot').should('have.been.calledTwice');
69
+ });
70
+ describe('with error handling', () => {
71
+ const mockAskBotApiError = (errorMessage) => {
72
+ api.postMessage = cy.stub().as('askBot').rejects(new Error(errorMessage));
73
+ };
74
+ it('should react on send message API error', () => {
75
+ mockAskBotApiError('Chatbot API error');
76
+ render();
77
+ doAskBot('Hello, Chatbot!');
78
+ cy.then(() => {
79
+ ChatUiSelectors.chatMessageFooter
80
+ .last()
81
+ .should('be.visible')
82
+ .should('contain.text', 'Message not delivered. Retry');
83
+ const errorBanner = ChatUiSelectors.chatError.should('be.visible').within(() => {
84
+ errorBanner
85
+ .find('.Banner__text > .Banner__title, [class^="_title-container"]')
86
+ .should('contain.text', 'Chat Error');
87
+ ChatUiSelectors.chatErrorText
88
+ .should('be.visible')
89
+ .should('contain.text', 'Failed to send message');
90
+ });
91
+ });
92
+ cy.then(() => {
93
+ mockAskBotApi("Hello! I'm chatbot mocked response!!!");
94
+ ChatUiSelectors.chatMessageErrorRetry.click();
95
+ ChatUiSelectors.chatMessageContentAgent
96
+ .should('be.visible')
97
+ .should('contain.text', "Hello! I'm chatbot mocked response!!!");
98
+ });
99
+ });
100
+ });
101
+ describe('with message feedback', () => {
102
+ it('should render the chatbot component', () => {
103
+ mockAskBotApi("Hello! I'm chatbot mocked response!!!");
104
+ render();
105
+ doAskBot('Hello!');
106
+ ChatUiSelectors.chatbotMessageFeedbackThumbsUp.should('be.visible').click();
107
+ cy.get('@askBotFeedback').should('have.been.calledOnce');
108
+ ChatUiSelectors.chatbotMessageFeedbackSuccess
109
+ .should('be.visible')
110
+ .should('contain.text', 'Thanks for your feedback.');
111
+ });
112
+ });
113
+ }
114
+ //# sourceMappingURL=chatbot.shared-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot.shared-tests.js","sourceRoot":"","sources":["../../../src/tests/titan-chatbot-ui/chatbot.shared-tests.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ export declare class ChatUiSelectors {
7
7
  static get chatInput(): Cypress.Chainable<JQuery<HTMLElement>>;
8
8
  static get chatSend(): Cypress.Chainable<JQuery<HTMLElement>>;
9
9
  static get chatUploadFile(): Cypress.Chainable<JQuery<HTMLElement>>;
10
+ static get chatUploadFileBtn(): Cypress.Chainable<JQuery<HTMLElement>>;
11
+ static get chatUploadFileName(): Cypress.Chainable<JQuery<HTMLElement>>;
12
+ static get chatUploadFileEdit(): Cypress.Chainable<JQuery<HTMLElement>>;
13
+ static get chatUploadFileDelete(): Cypress.Chainable<JQuery<HTMLElement>>;
10
14
  static get chatMessageError(): Cypress.Chainable<JQuery<HTMLElement>>;
11
15
  static get chatMessageErrorRetry(): Cypress.Chainable<JQuery<HTMLElement>>;
12
16
  static get chatNotifications(): Cypress.Chainable<JQuery<HTMLElement>>;
@@ -53,12 +57,14 @@ export declare class ChatUiSelectors {
53
57
  static get chatbotSessionFeedbackThumbsUp(): Cypress.Chainable<JQuery<HTMLElement>>;
54
58
  static get chatbotSessionFeedbackThumbsDown(): Cypress.Chainable<JQuery<HTMLElement>>;
55
59
  static get chatbotSessionFeedbackComment(): Cypress.Chainable<JQuery<HTMLElement>>;
60
+ static get chatbotRestartDialog(): Cypress.Chainable<JQuery<HTMLElement>>;
56
61
  static get chatbotFilters(): Cypress.Chainable<JQuery<HTMLElement>>;
57
62
  static get chatbotFilterSearch(): Cypress.Chainable<JQuery<HTMLElement>>;
58
63
  static get chatbotFilterAll(): Cypress.Chainable<JQuery<HTMLElement>>;
59
64
  static get chatbotFilterNone(): Cypress.Chainable<JQuery<HTMLElement>>;
60
65
  static get chatbotFilterButton(): Cypress.Chainable<JQuery<HTMLElement>>;
61
66
  static get chatbotFilterOptions(): Cypress.Chainable<JQuery<HTMLElement>>;
67
+ static get chatbotFilterContent(): Cypress.Chainable<JQuery<HTMLElement>>;
62
68
  static get chatbotLinksMore(): Cypress.Chainable<JQuery<HTMLElement>>;
63
69
  static get chatbotLinksCollapsible(): Cypress.Chainable<JQuery<HTMLElement>>;
64
70
  static get chatbotLinksLink(): Cypress.Chainable<JQuery<HTMLElement>>;
@@ -72,6 +78,10 @@ export declare class ChatUiSelectors {
72
78
  chatInput: string;
73
79
  chatSend: string;
74
80
  chatUploadFile: string;
81
+ chatUploadFileBtn: string;
82
+ chatUploadFileName: string;
83
+ chatUploadFileEdit: string;
84
+ chatUploadFileDelete: string;
75
85
  chatMessageError: string;
76
86
  chatMessageErrorRetry: string;
77
87
  chatNotifications: string;
@@ -112,12 +122,14 @@ export declare class ChatUiSelectors {
112
122
  chatbotSessionFeedbackThumbsUp: string;
113
123
  chatbotSessionFeedbackThumbsDown: string;
114
124
  chatbotSessionFeedbackComment: string;
125
+ chatbotRestartDialog: string;
115
126
  chatbotFilters: string;
116
127
  chatbotFilterSearch: string;
117
128
  chatbotFilterAll: string;
118
129
  chatbotFilterNone: string;
119
130
  chatbotFilterButton: string;
120
131
  chatbotFilterOptions: string;
132
+ chatbotFilterContent: string;
121
133
  chatbotLinksMore: string;
122
134
  chatbotLinksCollapsible: string;
123
135
  chatbotLinksLink: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-ui-selectors.d.ts","sourceRoot":"","sources":["../../src/utils/chat-ui-selectors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IACxB,MAAM,KAAK,IAAI,2CAEd;IACD,MAAM,KAAK,cAAc,2CAExB;IACD,MAAM,KAAK,SAAS,2CAEnB;IACD,MAAM,KAAK,aAAa,2CAEvB;IACD,MAAM,KAAK,gBAAgB,2CAE1B;IACD,MAAM,KAAK,SAAS,2CAEnB;IACD,MAAM,KAAK,QAAQ,2CAElB;IACD,MAAM,KAAK,cAAc,2CAExB;IACD,MAAM,KAAK,gBAAgB,2CAE1B;IACD,MAAM,KAAK,qBAAqB,2CAE/B;IACD,MAAM,KAAK,iBAAiB,2CAE3B;IACD,MAAM,KAAK,SAAS,2CAEnB;IACD,MAAM,KAAK,gBAAgB,2CAE1B;IACD,MAAM,KAAK,YAAY,2CAEtB;IACD,MAAM,KAAK,WAAW,2CAErB;IACD,MAAM,KAAK,kBAAkB,2CAE5B;IACD,MAAM,KAAK,iBAAiB,2CAE3B;IACD,MAAM,KAAK,UAAU,2CAEpB;IACD,MAAM,KAAK,wBAAwB,2CAElC;IACD,MAAM,KAAK,uBAAuB,2CAEjC;IACD,MAAM,KAAK,qBAAqB,2CAE/B;IACD,MAAM,KAAK,gBAAgB,2CAE1B;IACD,MAAM,KAAK,iBAAiB,2CAE3B;IACD,MAAM,KAAK,kBAAkB,2CAE5B;IACD,MAAM,KAAK,eAAe,2CAEzB;IACD,MAAM,KAAK,iBAAiB,2CAE3B;IACD,MAAM,KAAK,uBAAuB,2CAEjC;IACD,MAAM,KAAK,sBAAsB,2CAEhC;IACD,MAAM,KAAK,eAAe,2CAEzB;IACD,MAAM,KAAK,aAAa,2CAEvB;IACD,MAAM,KAAK,kBAAkB,2CAE5B;IACD,MAAM,KAAK,kBAAkB,2CAE5B;IACD,MAAM,KAAK,sBAAsB,2CAEhC;IACD,MAAM,KAAK,+BAA+B,2CAEzC;IACD,MAAM,KAAK,6BAA6B,2CAEvC;IACD,MAAM,KAAK,6BAA6B,2CAEvC;IACD,MAAM,KAAK,+BAA+B,2CAEzC;IACD,MAAM,KAAK,2BAA2B,2CAErC;IACD,MAAM,KAAK,kCAAkC,2CAE5C;IACD,MAAM,KAAK,6BAA6B,2CAEvC;IACD,MAAM,KAAK,6BAA6B,2CAEvC;IACD,MAAM,KAAK,6BAA6B,2CAEvC;IACD,MAAM,KAAK,4BAA4B,2CAEtC;IACD,MAAM,KAAK,8BAA8B,2CAExC;IACD,MAAM,KAAK,mCAAmC,2CAE7C;IACD,MAAM,KAAK,gCAAgC,2CAE1C;IACD,MAAM,KAAK,4BAA4B,2CAEtC;IACD,MAAM,KAAK,0BAA0B,2CAEpC;IACD,MAAM,KAAK,4BAA4B,2CAEtC;IACD,MAAM,KAAK,4BAA4B,2CAEtC;IACD,MAAM,KAAK,2BAA2B,2CAErC;IACD,MAAM,KAAK,8BAA8B,2CAExC;IACD,MAAM,KAAK,gCAAgC,2CAE1C;IACD,MAAM,KAAK,6BAA6B,2CAEvC;IACD,MAAM,KAAK,cAAc,2CAExB;IACD,MAAM,KAAK,mBAAmB,2CAE7B;IACD,MAAM,KAAK,gBAAgB,2CAE1B;IACD,MAAM,KAAK,iBAAiB,2CAE3B;IACD,MAAM,KAAK,mBAAmB,2CAE7B;IACD,MAAM,KAAK,oBAAoB,2CAE9B;IACD,MAAM,KAAK,gBAAgB,2CAE1B;IACD,MAAM,KAAK,uBAAuB,2CAEjC;IACD,MAAM,KAAK,gBAAgB,2CAE1B;IACD,MAAM,KAAK,oBAAoB,2CAE9B;IAED,MAAM,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2DP;IAEF,MAAM,CAAC,GAAG;;;;;;;MAOR;CACL"}
1
+ {"version":3,"file":"chat-ui-selectors.d.ts","sourceRoot":"","sources":["../../src/utils/chat-ui-selectors.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,18 @@ export class ChatUiSelectors {
23
23
  static get chatUploadFile() {
24
24
  return cy.getCy(ChatUiSelectors.cy.chatUploadFile);
25
25
  }
26
+ static get chatUploadFileBtn() {
27
+ return cy.getCy(ChatUiSelectors.cy.chatUploadFileBtn);
28
+ }
29
+ static get chatUploadFileName() {
30
+ return cy.getCy(ChatUiSelectors.cy.chatUploadFileName);
31
+ }
32
+ static get chatUploadFileEdit() {
33
+ return cy.getCy(ChatUiSelectors.cy.chatUploadFileEdit);
34
+ }
35
+ static get chatUploadFileDelete() {
36
+ return cy.getCy(ChatUiSelectors.cy.chatUploadFileDelete);
37
+ }
26
38
  static get chatMessageError() {
27
39
  return cy.getCy(ChatUiSelectors.cy.chatMessageError);
28
40
  }
@@ -161,6 +173,9 @@ export class ChatUiSelectors {
161
173
  static get chatbotSessionFeedbackComment() {
162
174
  return cy.getCy(ChatUiSelectors.cy.chatbotSessionFeedbackComment);
163
175
  }
176
+ static get chatbotRestartDialog() {
177
+ return cy.getCy(ChatUiSelectors.cy.chatbotRestartDialog);
178
+ }
164
179
  static get chatbotFilters() {
165
180
  return cy.getCy(ChatUiSelectors.cy.chatbotFilters);
166
181
  }
@@ -179,6 +194,9 @@ export class ChatUiSelectors {
179
194
  static get chatbotFilterOptions() {
180
195
  return cy.getCy(ChatUiSelectors.cy.chatbotFilterOptions);
181
196
  }
197
+ static get chatbotFilterContent() {
198
+ return cy.getCy(ChatUiSelectors.cy.chatbotFilterContent);
199
+ }
182
200
  static get chatbotLinksMore() {
183
201
  return cy.getCy(ChatUiSelectors.cy.chatbotLinksMore);
184
202
  }
@@ -205,6 +223,10 @@ Object.defineProperty(ChatUiSelectors, "cy", {
205
223
  chatInput: 'titan-chat-input',
206
224
  chatSend: 'titan-chat-send',
207
225
  chatUploadFile: 'titan-chat-upload-file',
226
+ chatUploadFileBtn: 'titan-chat-upload-file-btn',
227
+ chatUploadFileName: 'titan-chat-upload-file-name',
228
+ chatUploadFileEdit: 'titan-chat-upload-file-edit',
229
+ chatUploadFileDelete: 'titan-chat-upload-file-delete',
208
230
  chatMessageError: 'titan-chat-message-error',
209
231
  chatMessageErrorRetry: 'titan-chat-message-error-retry',
210
232
  chatNotifications: 'titan-chat-notifications',
@@ -245,12 +267,14 @@ Object.defineProperty(ChatUiSelectors, "cy", {
245
267
  chatbotSessionFeedbackThumbsUp: 'titan-chatbot-session-feedback-thumbs-up',
246
268
  chatbotSessionFeedbackThumbsDown: 'titan-chatbot-session-feedback-thumbs-down',
247
269
  chatbotSessionFeedbackComment: 'titan-chatbot-session-feedback-comment',
270
+ chatbotRestartDialog: 'titan-chatbot-restart-dialog',
248
271
  chatbotFilters: 'titan-chatbot-filters',
249
272
  chatbotFilterSearch: 'titan-chatbot-filter-search',
250
273
  chatbotFilterAll: 'titan-chatbot-filter-all',
251
274
  chatbotFilterNone: 'titan-chatbot-filter-none',
252
275
  chatbotFilterButton: 'titan-chatbot-filter-button',
253
276
  chatbotFilterOptions: 'titan-chatbot-filter-options',
277
+ chatbotFilterContent: 'titan-chatbot-filter-content',
254
278
  chatbotLinksMore: 'titan-chatbot-links-more',
255
279
  chatbotLinksCollapsible: 'titan-chatbot-links-collapsible',
256
280
  chatbotLinksLink: 'titan-chatbot-links-link',