@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.
- package/CHANGELOG.md +24 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mocks/chatbot-api-client.mock.d.ts +0 -1
- package/dist/mocks/chatbot-api-client.mock.d.ts.map +1 -1
- package/dist/mocks/chatbot-api-client.mock.js +0 -6
- package/dist/mocks/chatbot-api-client.mock.js.map +1 -1
- package/dist/tests/index.d.ts +30 -0
- package/dist/tests/index.d.ts.map +1 -0
- package/dist/tests/index.js +30 -0
- package/dist/tests/index.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat-error.shared-tests.d.ts +3 -0
- package/dist/tests/titan-chat-ui/chat-error.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat-error.shared-tests.js +138 -0
- package/dist/tests/titan-chat-ui/chat-error.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.d.ts +7 -0
- package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.js +123 -0
- package/dist/tests/titan-chat-ui/chat-input-file.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat-input.shared-tests.d.ts +3 -0
- package/dist/tests/titan-chat-ui/chat-input.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat-input.shared-tests.js +71 -0
- package/dist/tests/titan-chat-ui/chat-input.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat-log.shared-tests.d.ts +9 -0
- package/dist/tests/titan-chat-ui/chat-log.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat-log.shared-tests.js +73 -0
- package/dist/tests/titan-chat-ui/chat-log.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat-messages.shared-tests.d.ts +8 -0
- package/dist/tests/titan-chat-ui/chat-messages.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat-messages.shared-tests.js +118 -0
- package/dist/tests/titan-chat-ui/chat-messages.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.d.ts +3 -0
- package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.js +110 -0
- package/dist/tests/titan-chat-ui/chat-notifications.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat-timer.shared-tests.d.ts +3 -0
- package/dist/tests/titan-chat-ui/chat-timer.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat-timer.shared-tests.js +76 -0
- package/dist/tests/titan-chat-ui/chat-timer.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/chat.shared-tests.d.ts +9 -0
- package/dist/tests/titan-chat-ui/chat.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/chat.shared-tests.js +111 -0
- package/dist/tests/titan-chat-ui/chat.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/message-agent.shared-tests.d.ts +27 -0
- package/dist/tests/titan-chat-ui/message-agent.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/message-agent.shared-tests.js +67 -0
- package/dist/tests/titan-chat-ui/message-agent.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/message-content-file.shared-tests.d.ts +10 -0
- package/dist/tests/titan-chat-ui/message-content-file.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/message-content-file.shared-tests.js +88 -0
- package/dist/tests/titan-chat-ui/message-content-file.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/message-system.shared-tests.d.ts +16 -0
- package/dist/tests/titan-chat-ui/message-system.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/message-system.shared-tests.js +65 -0
- package/dist/tests/titan-chat-ui/message-system.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/message-timeout.shared-tests.d.ts +8 -0
- package/dist/tests/titan-chat-ui/message-timeout.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/message-timeout.shared-tests.js +63 -0
- package/dist/tests/titan-chat-ui/message-timeout.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/message-typing.shared-tests.d.ts +12 -0
- package/dist/tests/titan-chat-ui/message-typing.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/message-typing.shared-tests.js +46 -0
- package/dist/tests/titan-chat-ui/message-typing.shared-tests.js.map +1 -0
- package/dist/tests/titan-chat-ui/message-user.shared-tests.d.ts +10 -0
- package/dist/tests/titan-chat-ui/message-user.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chat-ui/message-user.shared-tests.js +64 -0
- package/dist/tests/titan-chat-ui/message-user.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.d.ts +7 -0
- package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.js +118 -0
- package/dist/tests/titan-chatbot-ui/chatbot-filters.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.d.ts +9 -0
- package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.js +162 -0
- package/dist/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.d.ts +15 -0
- package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.js +123 -0
- package/dist/tests/titan-chatbot-ui/chatbot-links.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.d.ts +9 -0
- package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.js +84 -0
- package/dist/tests/titan-chatbot-ui/chatbot-live.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.d.ts +8 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.js +142 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.d.ts +8 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.js +105 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.d.ts +3 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.js +86 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.d.ts +3 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.js +143 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.d.ts +8 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.js +200 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.d.ts +11 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.js +81 -0
- package/dist/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.d.ts +8 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.js +60 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.d.ts +8 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.js +77 -0
- package/dist/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.d.ts +7 -0
- package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.js +130 -0
- package/dist/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.d.ts +9 -0
- package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.js +157 -0
- package/dist/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.js.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.d.ts +9 -0
- package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.d.ts.map +1 -0
- package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.js +114 -0
- package/dist/tests/titan-chatbot-ui/chatbot.shared-tests.js.map +1 -0
- package/dist/utils/chat-ui-selectors.d.ts +12 -0
- package/dist/utils/chat-ui-selectors.d.ts.map +1 -1
- package/dist/utils/chat-ui-selectors.js +24 -0
- package/dist/utils/chat-ui-selectors.js.map +1 -1
- package/dist/utils/test-utils-chatbot.d.ts +5 -0
- package/dist/utils/test-utils-chatbot.d.ts.map +1 -0
- package/dist/utils/test-utils-chatbot.js +55 -0
- package/dist/utils/test-utils-chatbot.js.map +1 -0
- package/dist/utils/test-utils.d.ts +6 -0
- package/dist/utils/test-utils.d.ts.map +1 -0
- package/dist/utils/test-utils.js +38 -0
- package/dist/utils/test-utils.js.map +1 -0
- package/package.json +10 -5
- package/src/index.ts +3 -0
- package/src/mocks/chatbot-api-client.mock.ts +0 -1
- package/src/tests/index.ts +30 -0
- package/src/tests/titan-chat-ui/chat-error.shared-tests.tsx +185 -0
- package/src/tests/titan-chat-ui/chat-input-file.shared-tests.tsx +182 -0
- package/src/tests/titan-chat-ui/chat-input.shared-tests.tsx +99 -0
- package/src/tests/titan-chat-ui/chat-log.shared-tests.tsx +117 -0
- package/src/tests/titan-chat-ui/chat-messages.shared-tests.tsx +156 -0
- package/src/tests/titan-chat-ui/chat-notifications.shared-tests.tsx +153 -0
- package/src/tests/titan-chat-ui/chat-timer.shared-tests.tsx +106 -0
- package/src/tests/titan-chat-ui/chat.shared-tests.tsx +158 -0
- package/src/tests/titan-chat-ui/message-agent.shared-tests.tsx +170 -0
- package/src/tests/titan-chat-ui/message-content-file.shared-tests.tsx +139 -0
- package/src/tests/titan-chat-ui/message-system.shared-tests.tsx +147 -0
- package/src/tests/titan-chat-ui/message-timeout.shared-tests.tsx +117 -0
- package/src/tests/titan-chat-ui/message-typing.shared-tests.tsx +92 -0
- package/src/tests/titan-chat-ui/message-user.shared-tests.tsx +138 -0
- package/src/tests/titan-chatbot-ui/chatbot-filters.shared-tests.tsx +164 -0
- package/src/tests/titan-chatbot-ui/chatbot-help-center.shared-tests.tsx +225 -0
- package/src/tests/titan-chatbot-ui/chatbot-links.shared-tests.tsx +189 -0
- package/src/tests/titan-chatbot-ui/chatbot-live.shared-tests.tsx +127 -0
- package/src/tests/titan-chatbot-ui/chatbot-message-answer-readonly.shared-tests.tsx +187 -0
- package/src/tests/titan-chatbot-ui/chatbot-message-answer.shared-tests.tsx +144 -0
- package/src/tests/titan-chatbot-ui/chatbot-message-feedback-form-guardrail.shared-tests.tsx +127 -0
- package/src/tests/titan-chatbot-ui/chatbot-message-feedback-form.shared-tests.tsx +198 -0
- package/src/tests/titan-chatbot-ui/chatbot-message-feedback-popover.shared-tests.tsx +285 -0
- package/src/tests/titan-chatbot-ui/chatbot-message-typing.shared-tests.tsx +112 -0
- package/src/tests/titan-chatbot-ui/chatbot-restart-dialog.shared-tests.tsx +91 -0
- package/src/tests/titan-chatbot-ui/chatbot-restart-link.shared-tests.tsx +116 -0
- package/src/tests/titan-chatbot-ui/chatbot-session-feedback-modal.shared-tests.tsx +182 -0
- package/src/tests/titan-chatbot-ui/chatbot-titan-chatbot.shared-tests.tsx +221 -0
- package/src/tests/titan-chatbot-ui/chatbot.shared-tests.tsx +158 -0
- package/src/utils/chat-ui-selectors.ts +24 -0
- package/src/utils/test-utils-chatbot.tsx +73 -0
- package/src/utils/test-utils.tsx +52 -0
- 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":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChatbotCustomizations } from '@servicetitan/titan-chatbot-api';
|
|
2
|
+
import { FC, ReactElement } from 'react';
|
|
3
|
+
interface IChatbotProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
customizations?: ChatbotCustomizations;
|
|
6
|
+
}
|
|
7
|
+
export declare function 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
|
|
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,iBAAiB,2CAE3B;IACD,MAAM,KAAK,kBAAkB,2CAE5B;IACD,MAAM,KAAK,kBAAkB,2CAE5B;IACD,MAAM,KAAK,oBAAoB,2CAE9B;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,oBAAoB,2CAE9B;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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiEP;IAEF,MAAM,CAAC,GAAG;;;;;;;MAOR;CACL"}
|
|
@@ -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',
|