@@ -7,7 +7,7 @@ import '@testing-library/jest-dom/extend-expect';
77
88import { Message as MessageEntity , MessageStatus , Prompt as PromptEntity } from '../entity' ;
99import Message from '../message' ;
10- import Chat from '..' ;
10+ import Chat from '../ ' ;
1111
1212jest . mock ( 'remark-gfm' , ( ) => ( ) => { } ) ;
1313
@@ -232,12 +232,24 @@ describe('Test Chat Message', () => {
232232 prompt . messages [ 0 ] . status = MessageStatus . DONE ;
233233 const onRegenerate = jest . fn ( ) ;
234234 const { container, getByText } = render (
235- < Message
236- prompt = { prompt }
237- regenerate
238- data = { prompt . messages }
239- onRegenerate = { onRegenerate }
240- />
235+ < Chat
236+ chat = { { } as any }
237+ messageHeader = {
238+ < div
239+ className = "dtc__message__extra__render"
240+ data-testid = "fakeMessageExtraRender"
241+ >
242+ ExtraDom
243+ </ div >
244+ }
245+ >
246+ < Message
247+ prompt = { prompt }
248+ regenerate
249+ data = { prompt . messages }
250+ onRegenerate = { onRegenerate }
251+ />
252+ </ Chat >
241253 ) ;
242254
243255 const nodeList = container
@@ -301,4 +313,29 @@ describe('Test Chat Message', () => {
301313 expect ( ele . dataset . messageid ) . toBe ( '1' ) ;
302314 expect ( ele . dataset . promptid ) . toBe ( '1' ) ;
303315 } ) ;
316+
317+ it ( 'Should support extraRender' , ( ) => {
318+ const prompt = generatePrompt ( ) ;
319+ prompt . messages [ 0 ] . status = MessageStatus . DONE ;
320+ const { container, getByTestId } = render (
321+ < Chat
322+ chat = { { } as any }
323+ messageHeader = {
324+ < div
325+ className = "dtc__message__extra__render"
326+ data-testid = "fakeMessageExtraRender"
327+ >
328+ ExtraDom
329+ </ div >
330+ }
331+ >
332+ < Message prompt = { prompt } data = { prompt . messages } />
333+ </ Chat >
334+ ) ;
335+ expect ( getByTestId ( 'fakeMessageExtraRender' ) ) . toBeInTheDocument ( ) ;
336+ const nodeList = container . querySelectorAll < HTMLDivElement > ( '.dtc__message__extra__render' ) ;
337+ const ele = nodeList ?. item ( nodeList ?. length - 1 ) ;
338+ expect ( ele ) . not . toBeNull ( ) ;
339+ expect ( ele ?. textContent ) . toBe ( 'ExtraDom' ) ;
340+ } ) ;
304341} ) ;
0 commit comments