@@ -65,6 +65,9 @@ const RENDER_CAPABILITIES = [
6565 'render/computed-functions' ,
6666] as const ;
6767
68+ const SEND_RECEIVE_TIMEOUT_MS = 30_000 ;
69+ const A2UI_SEND_RECEIVE_TIMEOUT_MS = 90_000 ;
70+
6871test . describe ( 'Production: Angular chat example apps load' , ( ) => {
6972 for ( const cap of CHAT_CAPABILITIES ) {
7073 test ( `${ cap } loads at examples URL` , async ( { page } ) => {
@@ -113,19 +116,23 @@ test.describe('Production: send/receive smoke', () => {
113116
114117 for ( const cap of [ 'langgraph/streaming' , 'deep-agents/planning' , 'chat/a2ui' ] as const ) {
115118 test ( `${ cap } sends and receives a message` , async ( { page } ) => {
119+ const responseTimeout =
120+ cap === 'chat/a2ui' ? A2UI_SEND_RECEIVE_TIMEOUT_MS : SEND_RECEIVE_TIMEOUT_MS ;
121+
122+ test . setTimeout ( responseTimeout + 15_000 ) ;
116123 await page . goto ( `${ EXAMPLES_URL } /${ cap } /` , { timeout : 15_000 } ) ;
117124 await expect ( page . locator ( 'chat' ) ) . toBeVisible ( { timeout : 10_000 } ) ;
118125
119126 await page . locator ( 'textarea[name="messageText"]' ) . fill ( 'hello' ) ;
120127 await page . getByRole ( 'button' , { name : / s e n d m e s s a g e / i } ) . click ( ) ;
121128
122129 if ( cap === 'chat/a2ui' ) {
123- await expect ( page . locator ( 'a2ui-surface' ) ) . toBeAttached ( { timeout : 30_000 } ) ;
130+ await expect ( page . locator ( 'a2ui-surface' ) ) . toBeAttached ( { timeout : responseTimeout } ) ;
124131 return ;
125132 }
126133
127134 await expect ( page . locator ( 'chat-message[data-role="assistant"]' ) . last ( ) ) . toBeVisible ( {
128- timeout : 30_000 ,
135+ timeout : responseTimeout ,
129136 } ) ;
130137 } ) ;
131138 }
0 commit comments