@@ -10,17 +10,21 @@ const title = "Request dock regression"
1010
1111test ( "shows a pending question dock" , async ( { page } ) => {
1212 await mockServer ( page , {
13- questions : [
13+ forms : [
1414 {
15- id : "question-request " ,
15+ id : "frm_question_request " ,
1616 sessionID,
17- questions : [
17+ mode : "form" ,
18+ metadata : { kind : "question" } ,
19+ fields : [
1820 {
19- header : "Implementation" ,
20- question : "Which implementation should be used?" ,
21+ key : "question_0" ,
22+ type : "string" ,
23+ title : "Which implementation should be used?" ,
24+ description : "Implementation" ,
2125 options : [
22- { label : "Minimal" , description : "Use the smallest correct change" } ,
23- { label : "Extended" , description : "Include additional behavior" } ,
26+ { value : "Minimal" , label : "Minimal" , description : "Use the smallest correct change" } ,
27+ { value : "Extended" , label : "Extended" , description : "Include additional behavior" } ,
2428 ] ,
2529 } ,
2630 ] ,
@@ -41,7 +45,8 @@ test("shows a pending question dock", async ({ page }) => {
4145 const rejectRequests : string [ ] = [ ]
4246 page . on ( "request" , ( request ) => {
4347 if ( request . method ( ) !== "POST" ) return
44- if ( new URL ( request . url ( ) ) . pathname === "/question/question-request/reject" ) rejectRequests . push ( request . url ( ) )
48+ if ( new URL ( request . url ( ) ) . pathname === `/api/session/${ sessionID } /form/frm_question_request/cancel` )
49+ rejectRequests . push ( request . url ( ) )
4550 } )
4651
4752 await question . locator ( '[data-component="icon-button"][data-icon="chevron-down"]' ) . click ( )
@@ -63,10 +68,12 @@ test("shows a pending question dock", async ({ page }) => {
6368
6469 await question . getByRole ( "radio" , { name : / M i n i m a l / } ) . click ( )
6570 const reply = page . waitForRequest (
66- ( request ) => request . method ( ) === "POST" && new URL ( request . url ( ) ) . pathname === "/question/question-request/reply" ,
71+ ( request ) =>
72+ request . method ( ) === "POST" &&
73+ new URL ( request . url ( ) ) . pathname === `/api/session/${ sessionID } /form/frm_question_request/reply` ,
6774 )
6875 await question . getByRole ( "button" , { name : "Submit" } ) . click ( )
69- expect ( ( await reply ) . postDataJSON ( ) ) . toEqual ( { answers : [ [ "Minimal" ] ] } )
76+ expect ( ( await reply ) . postDataJSON ( ) ) . toEqual ( { answer : { question_0 : "Minimal" } } )
7077} )
7178
7279test ( "shows a pending permission dock" , async ( { page } ) => {
@@ -105,6 +112,7 @@ async function mockServer(
105112 requests : {
106113 permissions ?: unknown [ ] | ( ( ) => unknown [ ] )
107114 questions ?: unknown [ ] | ( ( ) => unknown [ ] )
115+ forms ?: unknown [ ] | ( ( ) => unknown [ ] )
108116 } ,
109117) {
110118 await mockOpenCodeServer ( page , {
@@ -148,6 +156,7 @@ async function mockServer(
148156 pageMessages : ( ) => ( { items : [ ] } ) ,
149157 permissions : requests . permissions ,
150158 questions : requests . questions ,
159+ forms : requests . forms ,
151160 } )
152161 await page . addInitScript ( ( ) => {
153162 localStorage . setItem ( "settings.v3" , JSON . stringify ( { general : { newLayoutDesigns : true } } ) )
0 commit comments