@@ -21,6 +21,7 @@ import {
2121 ChatProvider ,
2222 ComponentProvider ,
2323 TranslationProvider ,
24+ useMessageContext ,
2425} from '../../../context' ;
2526import { MessageSimple } from '../../Message' ;
2627import { UnreadMessagesSeparator } from '../UnreadMessagesSeparator' ;
@@ -164,7 +165,7 @@ describe('VirtualizedMessageComponents', () => {
164165
165166 describe ( 'EmptyPlaceholder' , ( ) => {
166167 const EmptyStateIndicator = ( { listType } ) => (
167- < div data-listType = { listType } > Custom EmptyStateIndicator</ div >
168+ < div data-listtype = { listType } > Custom EmptyStateIndicator</ div >
168169 ) ;
169170 const NullEmptyStateIndicator = null ;
170171 const componentContext = { EmptyStateIndicator } ;
@@ -249,6 +250,40 @@ describe('VirtualizedMessageComponents', () => {
249250 } ) ;
250251
251252 describe ( 'default item rendering logic' , ( ) => {
253+ it ( 'should forward message group styles' , ( ) => {
254+ const virtuosoRef = { current : { } } ;
255+ let groupStylesMessageContext ;
256+ const Message = ( ) => {
257+ const { groupStyles } = useMessageContext ( ) ;
258+ groupStylesMessageContext = groupStyles ;
259+ return null ;
260+ } ;
261+ const processedMessages = [ generateMessage ( ) ] ;
262+ const messageGroupStyles = { [ processedMessages [ 0 ] . id ] : 'xy' } ;
263+ renderElements (
264+ < >
265+ { processedMessages . map ( ( _ , numItemsPrepended ) => {
266+ const virtuosoContext = {
267+ Message,
268+ messageGroupStyles,
269+ numItemsPrepended,
270+ ownMessagesReadByOthers : { } ,
271+ prependOffset,
272+ processedMessages,
273+ virtuosoRef,
274+ } ;
275+ return (
276+ < div key = { numItemsPrepended } >
277+ { messageRenderer ( virtuosoIndex , undefined , virtuosoContext ) }
278+ </ div >
279+ ) ;
280+ } ) }
281+ </ > ,
282+ ) ;
283+ expect ( groupStylesMessageContext ) . toStrictEqual ( [
284+ messageGroupStyles [ processedMessages [ 0 ] . id ] ,
285+ ] ) ;
286+ } ) ;
252287 it ( 'should render nothing if MessageSystem component is undefined for system messages' , ( ) => {
253288 const virtuosoContext = {
254289 numItemsPrepended,
@@ -343,6 +378,7 @@ describe('VirtualizedMessageComponents', () => {
343378 lastReadMessageId : messages [ 0 ] . id ,
344379 lastReceivedMessageId : messages [ 1 ] . id ,
345380 Message,
381+ messageGroupStyles : { } ,
346382 numItemsPrepended,
347383 ownMessagesReadByOthers : { } ,
348384 processedMessages : messages ,
@@ -376,6 +412,7 @@ describe('VirtualizedMessageComponents', () => {
376412 lastReadDate : new Date ( 1 ) ,
377413 lastReceivedMessageId : messages [ 1 ] . id ,
378414 Message,
415+ messageGroupStyles : { } ,
379416 numItemsPrepended,
380417 ownMessagesReadByOthers : { } ,
381418 processedMessages : messages ,
@@ -409,6 +446,7 @@ describe('VirtualizedMessageComponents', () => {
409446 lastReadMessageId : messages [ 1 ] . id ,
410447 lastReceivedMessageId : messages [ 1 ] . id ,
411448 Message,
449+ messageGroupStyles : { } ,
412450 numItemsPrepended : 1 ,
413451 ownMessagesReadByOthers : { } ,
414452 processedMessages : messages ,
@@ -433,6 +471,7 @@ describe('VirtualizedMessageComponents', () => {
433471 lastReadMessageId : messages [ 0 ] . id ,
434472 lastReceivedMessageId : messages [ 1 ] . id ,
435473 Message,
474+ messageGroupStyles : { } ,
436475 numItemsPrepended,
437476 ownMessagesReadByOthers : { } ,
438477 processedMessages : messages ,
@@ -466,6 +505,7 @@ describe('VirtualizedMessageComponents', () => {
466505 lastReadMessageId : messages [ 0 ] . id ,
467506 lastReceivedMessageId : messages [ 1 ] . id ,
468507 Message,
508+ messageGroupStyles : { } ,
469509 numItemsPrepended,
470510 ownMessagesReadByOthers : { } ,
471511 processedMessages : messages ,
@@ -489,6 +529,7 @@ describe('VirtualizedMessageComponents', () => {
489529 lastReadMessageId : messages [ 0 ] . id ,
490530 lastReceivedMessageId : messages [ 1 ] . id ,
491531 Message,
532+ messageGroupStyles : { } ,
492533 numItemsPrepended : 1 ,
493534 ownMessagesReadByOthers : { } ,
494535 processedMessages : messages ,
@@ -531,6 +572,7 @@ describe('VirtualizedMessageComponents', () => {
531572 { processedMessages . map ( ( _ , numItemsPrepended ) => {
532573 const virtuosoContext = {
533574 Message : MessageSimple ,
575+ messageGroupStyles : { } ,
534576 numItemsPrepended,
535577 ownMessagesReadByOthers : { } ,
536578 prependOffset,
0 commit comments