@@ -31,7 +31,7 @@ describe('SpotterAgentEmbed', () => {
3131 fetchMock . resetMocks ( ) ;
3232 } ) ;
3333
34- test ( 'should render the SpotterAgent embed' , async ( ) => {
34+ test ( 'should render the bodyless conversation embed' , async ( ) => {
3535 fetchMock . mockResponses (
3636 JSON . stringify ( {
3737 data : {
@@ -137,311 +137,4 @@ describe('SpotterAgentEmbed', () => {
137137 const errorResult = await spotterEmbed . sendMessage ( 'userMessage' ) ;
138138 expect ( errorResult . error instanceof Error ) . toBeTruthy ( ) ;
139139 } ) ;
140-
141- test ( 'should apply containerClassName to the container element' , async ( ) => {
142- fetchMock . mockResponses (
143- JSON . stringify ( {
144- data : {
145- ConvAssist__createConversation : {
146- convId : 'conversationId' ,
147- initialCtx : {
148- type : 'TS_ANSWER' ,
149- tsAnsCtx : {
150- sessionId : 'sessionId' ,
151- genNo : 1 ,
152- stateKey : {
153- transactionId : 'transactionId' ,
154- generationNumber : 1 ,
155- } ,
156- worksheet : {
157- worksheetId : 'worksheetId' ,
158- worksheetName : 'GTM' ,
159- } ,
160- } ,
161- } ,
162- } ,
163- } ,
164- } ) ,
165- JSON . stringify ( {
166- data : {
167- ConvAssist__sendMessage : {
168- responses : [
169- {
170- msgId : 'msgId' ,
171- data : {
172- asstRespData : {
173- tool : 'TS_NLS' ,
174- asstRespText : '' ,
175- nlsAnsData : {
176- sageQuerySuggestions : [
177- {
178- llmReasoning : {
179- assumptions : 'You want the total [COL|sales] for [COL|item_type] [VAL|jackets] for [VAL|this year].' ,
180- clarifications : '' ,
181- interpretation : '' ,
182- __typename : 'eureka_SageQuerySuggestion_LLMReasoning' ,
183- } ,
184- tokens : [
185- 'sum sales' ,
186- "item type = 'jackets'" ,
187- "date = 'this year'" ,
188- ] ,
189- tmlTokens : [
190- 'sum [sales]' ,
191- "[date] = [date].'this year'" ,
192- "[item type] = [item type].'jackets'" ,
193- ] ,
194- worksheetId : 'worksheetId' ,
195- description : '' ,
196- title : '' ,
197- cached : false ,
198- sqlQuery : "SELECT SUM(sales) FROM __Sample_Retail_Apparel WHERE item_type = 'jackets' AND date = _this_year();" ,
199- sessionId : 'sessionId' ,
200- genNo : 2 ,
201- formulaInfo : [ ] ,
202- tmlPhrases : [ ] ,
203- stateKey : {
204- transactionId : 'transactionId' ,
205- generationNumber : 1 ,
206- __typename : 'sage_auto_complete_v2_ACStateKey' ,
207- } ,
208- __typename : 'eureka_SageQuerySuggestion' ,
209- } ,
210- ] ,
211- responseType : 'ANSWER' ,
212- __typename : 'convassist_nls_tool_NLSToolAsstRespData' ,
213- } ,
214- __typename : 'convassist_AsstResponseData' ,
215- } ,
216- __typename : 'convassist_MessageData' ,
217- } ,
218- type : 'ASST_RESPONSE' ,
219- __typename : 'convassist_MessagePayload' ,
220- } ,
221- ] ,
222- __typename : 'convassist_SendMessageResponse' ,
223- } ,
224- } ,
225- } ) ,
226- ) ;
227-
228- const viewConfig : SpotterAgentEmbedViewConfig = {
229- worksheetId : 'worksheetId' ,
230- containerClassName : 'custom-conversation-container' ,
231- } ;
232-
233- const spotterAgentEmbed = new SpotterAgentEmbed ( viewConfig ) ;
234- const result = await spotterAgentEmbed . sendMessage ( 'userMessage' ) ;
235-
236- // Verify that the container has the custom class name
237- expect ( result . container . className ) . toBe ( 'custom-conversation-container' ) ;
238-
239- // Also verify the iframe src is correct
240- const iframeSrc = getIFrameSrc ( result . container ) ;
241- expectUrlToHaveParamsWithValues ( iframeSrc , {
242- sessionId : 'sessionId' ,
243- genNo : 2 ,
244- acSessionId : 'transactionId' ,
245- acGenNo : 1 ,
246- } ) ;
247- } ) ;
248-
249- test ( 'should not set className when containerClassName is not provided' , async ( ) => {
250- fetchMock . mockResponses (
251- JSON . stringify ( {
252- data : {
253- ConvAssist__createConversation : {
254- convId : 'conversationId' ,
255- initialCtx : {
256- type : 'TS_ANSWER' ,
257- tsAnsCtx : {
258- sessionId : 'sessionId' ,
259- genNo : 1 ,
260- stateKey : {
261- transactionId : 'transactionId' ,
262- generationNumber : 1 ,
263- } ,
264- worksheet : {
265- worksheetId : 'worksheetId' ,
266- worksheetName : 'GTM' ,
267- } ,
268- } ,
269- } ,
270- } ,
271- } ,
272- } ) ,
273- JSON . stringify ( {
274- data : {
275- ConvAssist__sendMessage : {
276- responses : [
277- {
278- msgId : 'msgId' ,
279- data : {
280- asstRespData : {
281- tool : 'TS_NLS' ,
282- asstRespText : '' ,
283- nlsAnsData : {
284- sageQuerySuggestions : [
285- {
286- llmReasoning : {
287- assumptions : 'You want the total [COL|sales] for [COL|item_type] [VAL|jackets] for [VAL|this year].' ,
288- clarifications : '' ,
289- interpretation : '' ,
290- __typename : 'eureka_SageQuerySuggestion_LLMReasoning' ,
291- } ,
292- tokens : [
293- 'sum sales' ,
294- "item type = 'jackets'" ,
295- "date = 'this year'" ,
296- ] ,
297- tmlTokens : [
298- 'sum [sales]' ,
299- "[date] = [date].'this year'" ,
300- "[item type] = [item type].'jackets'" ,
301- ] ,
302- worksheetId : 'worksheetId' ,
303- description : '' ,
304- title : '' ,
305- cached : false ,
306- sqlQuery : "SELECT SUM(sales) FROM __Sample_Retail_Apparel WHERE item_type = 'jackets' AND date = _this_year();" ,
307- sessionId : 'sessionId' ,
308- genNo : 2 ,
309- formulaInfo : [ ] ,
310- tmlPhrases : [ ] ,
311- stateKey : {
312- transactionId : 'transactionId' ,
313- generationNumber : 1 ,
314- __typename : 'sage_auto_complete_v2_ACStateKey' ,
315- } ,
316- __typename : 'eureka_SageQuerySuggestion' ,
317- } ,
318- ] ,
319- responseType : 'ANSWER' ,
320- __typename : 'convassist_nls_tool_NLSToolAsstRespData' ,
321- } ,
322- __typename : 'convassist_AsstResponseData' ,
323- } ,
324- __typename : 'convassist_MessageData' ,
325- } ,
326- type : 'ASST_RESPONSE' ,
327- __typename : 'convassist_MessagePayload' ,
328- } ,
329- ] ,
330- __typename : 'convassist_SendMessageResponse' ,
331- } ,
332- } ,
333- } ) ,
334- ) ;
335-
336- const viewConfig : SpotterAgentEmbedViewConfig = {
337- worksheetId : 'worksheetId' ,
338- // No containerClassName provided
339- } ;
340-
341- const spotterAgentEmbed = new SpotterAgentEmbed ( viewConfig ) ;
342- const result = await spotterAgentEmbed . sendMessage ( 'userMessage' ) ;
343-
344- // Verify that the container has no class name (empty string)
345- expect ( result . container . className ) . toBe ( '' ) ;
346- } ) ;
347-
348- test ( 'should handle hideActions parameter correctly' , async ( ) => {
349- fetchMock . mockResponses (
350- JSON . stringify ( {
351- data : {
352- ConvAssist__createConversation : {
353- convId : 'conversationId' ,
354- initialCtx : {
355- type : 'TS_ANSWER' ,
356- tsAnsCtx : {
357- sessionId : 'sessionId' ,
358- genNo : 1 ,
359- stateKey : {
360- transactionId : 'transactionId' ,
361- generationNumber : 1 ,
362- } ,
363- worksheet : {
364- worksheetId : 'worksheetId' ,
365- worksheetName : 'GTM' ,
366- } ,
367- } ,
368- } ,
369- } ,
370- } ,
371- } ) ,
372- JSON . stringify ( {
373- data : {
374- ConvAssist__sendMessage : {
375- responses : [
376- {
377- msgId : 'msgId' ,
378- data : {
379- asstRespData : {
380- tool : 'TS_NLS' ,
381- asstRespText : '' ,
382- nlsAnsData : {
383- sageQuerySuggestions : [
384- {
385- llmReasoning : {
386- assumptions : 'You want the total [COL|sales] for [COL|item_type] [VAL|jackets] for [VAL|this year].' ,
387- clarifications : '' ,
388- interpretation : '' ,
389- __typename : 'eureka_SageQuerySuggestion_LLMReasoning' ,
390- } ,
391- tokens : [
392- 'sum sales' ,
393- "item type = 'jackets'" ,
394- "date = 'this year'" ,
395- ] ,
396- tmlTokens : [
397- 'sum [sales]' ,
398- "[date] = [date].'this year'" ,
399- "[item type] = [item type].'jackets'" ,
400- ] ,
401- worksheetId : 'worksheetId' ,
402- description : '' ,
403- title : '' ,
404- cached : false ,
405- sqlQuery : "SELECT SUM(sales) FROM __Sample_Retail_Apparel WHERE item_type = 'jackets' AND date = _this_year();" ,
406- sessionId : 'sessionId' ,
407- genNo : 2 ,
408- formulaInfo : [ ] ,
409- tmlPhrases : [ ] ,
410- stateKey : {
411- transactionId : 'transactionId' ,
412- generationNumber : 1 ,
413- __typename : 'sage_auto_complete_v2_ACStateKey' ,
414- } ,
415- __typename : 'eureka_SageQuerySuggestion' ,
416- } ,
417- ] ,
418- responseType : 'ANSWER' ,
419- __typename : 'convassist_nls_tool_NLSToolAsstRespData' ,
420- } ,
421- __typename : 'convassist_AsstResponseData' ,
422- } ,
423- __typename : 'convassist_MessageData' ,
424- } ,
425- type : 'ASST_RESPONSE' ,
426- __typename : 'convassist_MessagePayload' ,
427- } ,
428- ] ,
429- __typename : 'convassist_SendMessageResponse' ,
430- } ,
431- } ,
432- } ) ,
433- ) ;
434-
435- const viewConfig : SpotterAgentEmbedViewConfig = {
436- worksheetId : 'worksheetId' ,
437- hiddenActions : [ Action . Download , Action . Save ] , // This should trigger the HideActions branch
438- } ;
439-
440- const spotterAgentEmbed = new SpotterAgentEmbed ( viewConfig ) ;
441- const result = await spotterAgentEmbed . sendMessage ( 'userMessage' ) ;
442-
443- // Verify the iframe src contains the hideActions parameter
444- const iframeSrc = getIFrameSrc ( result . container ) ;
445- expect ( iframeSrc ) . toContain ( 'hideAction' ) ;
446- } ) ;
447140} ) ;
0 commit comments