@@ -17,6 +17,14 @@ describe('Chat', () => {
1717 } ) ;
1818
1919 const createChatComponent = ( ) => html `< igc-chat > </ igc-chat > ` ;
20+
21+ const messageTemplate = ( msg : any ) => {
22+ return html `< div >
23+ < h5 > ${ msg . sender === 'user' ? 'You' : 'Bot' } :</ h5 >
24+ < p > ${ msg . text } </ p >
25+ </ div > ` ;
26+ } ;
27+
2028 const messageActionsTemplate = ( msg : any ) => {
2129 return msg . sender !== 'user' && msg . text . trim ( )
2230 ? html `< div style ="float: right ">
@@ -770,6 +778,32 @@ describe('Chat', () => {
770778 } ) ;
771779 } ) ;
772780
781+ it ( 'should render messageTemplate' , async ( ) => {
782+ chat . options = {
783+ templates : {
784+ messageTemplate : messageTemplate ,
785+ } ,
786+ } ;
787+ await elementUpdated ( chat ) ;
788+ await aTimeout ( 500 ) ;
789+ const messageElements = chat . shadowRoot
790+ ?. querySelector ( 'igc-chat-message-list' )
791+ ?. shadowRoot ?. querySelector ( '.message-list' )
792+ ?. querySelectorAll ( 'igc-chat-message' ) ;
793+ messageElements ?. forEach ( ( messageElement , index ) => {
794+ const messsageContainer =
795+ messageElement . shadowRoot ?. querySelector ( '.bubble' ) ;
796+ expect ( messsageContainer ) . dom . to . equal (
797+ `<div class="bubble">
798+ <div>
799+ <h5>${ chat . messages [ index ] . sender === 'user' ? 'You' : 'Bot' } : </h5>
800+ <p>${ ( messsageContainer ?. querySelector ( 'p' ) as HTMLElement ) ?. innerText } </p>
801+ </div>
802+ </div>`
803+ ) ;
804+ } ) ;
805+ } ) ;
806+
773807 it ( 'should render messageActionsTemplate' , async ( ) => {
774808 chat . options = {
775809 templates : {
0 commit comments