Skip to content

Commit c0e5f2e

Browse files
committed
III-6948: alter tests to test Link instead of Button
1 parent d7b9f76 commit c0e5f2e

File tree

2 files changed

+82
-37
lines changed

2 files changed

+82
-37
lines changed

src/test/e2e/events/event-preview-actions.spec.ts

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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 ({

src/test/e2e/events/movie-preview-actions.spec.ts

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -116,33 +116,49 @@ test.describe('Movie Preview Sidebar Actions', () => {
116116
await expect(deleteButton).not.toBeDisabled();
117117
});
118118

119-
test('should navigate to pages when buttons are clicked', async ({
119+
test('should have correct href attributes on action links', async ({
120120
page,
121121
movieEventId,
122-
moviePreviewUrl,
123122
}) => {
124-
await page.getByRole('button', { name: 'Bewerken', exact: true }).click();
125-
await page.waitForURL(`**/events/${movieEventId}/edit`);
126-
127-
await page.goto(moviePreviewUrl);
128-
await page.getByRole('button', { name: 'Bewerken als film' }).click();
129-
await page.waitForURL(`**/manage/movies/${movieEventId}/edit`);
130-
131-
await page.goto(moviePreviewUrl);
132-
await page.getByRole('button', { name: 'Vertalen' }).click();
133-
await page.waitForURL(`**/events/${movieEventId}/translate`);
123+
const editLink = page.getByRole('link', {
124+
name: 'Bewerken',
125+
exact: true,
126+
});
127+
await expect(editLink).toHaveAttribute(
128+
'href',
129+
`/events/${movieEventId}/edit`,
130+
);
134131

135-
await page.goto(moviePreviewUrl);
136-
await page
137-
.getByRole('button', { name: 'Kopiëren en aanpassen', exact: true })
138-
.click();
139-
await page.waitForURL(`**/events/${movieEventId}/duplicate`);
132+
const editMovieLink = page.getByRole('link', {
133+
name: 'Bewerken als film',
134+
});
135+
await expect(editMovieLink).toHaveAttribute(
136+
'href',
137+
`/manage/movies/${movieEventId}/edit`,
138+
);
139+
140+
const translateLink = page.getByRole('link', { name: 'Vertalen' });
141+
await expect(translateLink).toHaveAttribute(
142+
'href',
143+
`/events/${movieEventId}/translate`,
144+
);
145+
146+
const duplicateLink = page.getByRole('link', {
147+
name: 'Kopiëren en aanpassen',
148+
exact: true,
149+
});
150+
await expect(duplicateLink).toHaveAttribute(
151+
'href',
152+
`/events/${movieEventId}/duplicate`,
153+
);
140154

141-
await page.goto(moviePreviewUrl);
142-
await page
143-
.getByRole('button', { name: 'Beschikbaarheid wijzigen' })
144-
.click();
145-
await page.waitForURL(`**/events/${movieEventId}/availability`);
155+
const availabilityLink = page.getByRole('link', {
156+
name: 'Beschikbaarheid wijzigen',
157+
});
158+
await expect(availabilityLink).toHaveAttribute(
159+
'href',
160+
`/events/${movieEventId}/availability`,
161+
);
146162
});
147163

148164
test('should duplicate as movie and navigate to new event edit page with same title', async ({

0 commit comments

Comments
 (0)