@@ -94,27 +94,56 @@ test.describe('Event Preview Sidebar Actions', () => {
9494 await expect ( deleteButton ) . not . toBeDisabled ( ) ;
9595 } ) ;
9696
97- test ( 'should navigate to pages when buttons are clicked ' , async ( {
97+ test ( 'should have correct href attributes on action links ' , async ( {
9898 page,
9999 eventId,
100- eventPreviewUrl,
101100 } ) => {
102- await page . getByRole ( 'button ' , { name : 'Bewerken' } ) . click ( ) ;
103- await page . waitForURL ( `** /events/${ eventId } /edit`) ;
101+ const editLink = page . getByRole ( 'link ' , { name : 'Bewerken' } ) ;
102+ await expect ( editLink ) . toHaveAttribute ( 'href' , ` /events/${ eventId } /edit`) ;
104103
105- await page . goto ( eventPreviewUrl ) ;
106- await page . getByRole ( 'button' , { name : 'Vertalen' } ) . click ( ) ;
107- await page . waitForURL ( `**/events/${ eventId } /translate` ) ;
104+ const translateLink = page . getByRole ( 'link' , { name : 'Vertalen' } ) ;
105+ await expect ( translateLink ) . toHaveAttribute (
106+ 'href' ,
107+ `/events/${ eventId } /translate` ,
108+ ) ;
108109
109- await page . goto ( eventPreviewUrl ) ;
110- await page . getByRole ( 'button' , { name : 'Kopiëren en aanpassen' } ) . click ( ) ;
111- await page . waitForURL ( `**/events/${ eventId } /duplicate` ) ;
110+ const duplicateLink = page . getByRole ( 'link' , {
111+ name : 'Kopiëren en aanpassen' ,
112+ } ) ;
113+ await expect ( duplicateLink ) . toHaveAttribute (
114+ 'href' ,
115+ `/events/${ eventId } /duplicate` ,
116+ ) ;
112117
113- await page . goto ( eventPreviewUrl ) ;
114- await page
115- . getByRole ( 'button' , { name : 'Beschikbaarheid wijzigen' } )
116- . click ( ) ;
117- await page . waitForURL ( `**/events/${ eventId } /availability` ) ;
118+ const availabilityLink = page . getByRole ( 'link' , {
119+ name : 'Beschikbaarheid wijzigen' ,
120+ } ) ;
121+ await expect ( availabilityLink ) . toHaveAttribute (
122+ 'href' ,
123+ `/events/${ eventId } /availability` ,
124+ ) ;
125+ } ) ;
126+
127+ test ( 'should open delete confirmation modal when delete button is clicked' , async ( {
128+ page,
129+ } ) => {
130+ const deleteButton = page . getByRole ( 'button' , { name : 'Verwijderen' } ) ;
131+ await deleteButton . click ( ) ;
132+
133+ const modal = page . getByRole ( 'dialog' ) ;
134+ await expect ( modal ) . toBeVisible ( ) ;
135+
136+ const modalTitle = modal . getByText ( 'Evenement verwijderen' ) ;
137+ await expect ( modalTitle ) . toBeVisible ( ) ;
138+
139+ const confirmButton = modal . getByRole ( 'button' , { name : 'Verwijderen' } ) ;
140+ await expect ( confirmButton ) . toBeVisible ( ) ;
141+
142+ const cancelButton = modal . getByRole ( 'button' , { name : 'Annuleren' } ) ;
143+ await expect ( cancelButton ) . toBeVisible ( ) ;
144+
145+ await cancelButton . click ( ) ;
146+ await expect ( modal ) . not . toBeVisible ( ) ;
118147 } ) ;
119148
120149 test ( 'should only show duplicate button for expired event' , async ( {
0 commit comments