diff --git a/tests/mitarbeiterErstellen.spec.ts b/tests/mitarbeiterErstellen.spec.ts index 25e630f..dedc35a 100644 --- a/tests/mitarbeiterErstellen.spec.ts +++ b/tests/mitarbeiterErstellen.spec.ts @@ -59,6 +59,7 @@ test.describe('mitarbeiter', () => { }); test('CreationAndDeletion', async ({ page }) => { + await page.getByLabel('First Name').fill('a'); await page.getByLabel('Last Name').fill('a'); await page.getByLabel('Street').fill('a'); await page.getByLabel('Postcode').fill('12345'); @@ -66,16 +67,24 @@ test.describe('mitarbeiter', () => { await page.getByLabel('Phone Number').fill('1234'); await page.getByText('Save').click(); - expect(page.url().includes('erstellen')).toBeFalsy(); - const deleteButton = page.getByText('Delete').nth(2); - await deleteButton.waitFor({ state: 'visible', timeout: 5000 }); // Add a timeout for safety + // Wait for the "Delete" button to be attached to the DOM + await page.locator('text=Delete').nth(2).waitFor({ state: 'attached', timeout: 10000 }); - await deleteButton.click(); + // Wait for the third "Delete" button to be visible + const deleteButtons = page.locator('text=Delete'); + const deleteButtonCount = await deleteButtons.count(); + if (deleteButtonCount > 2) { + const deleteButton = deleteButtons.nth(2); + await deleteButton.waitFor({ state: 'visible', timeout: 5000 }); + await deleteButton.click(); + } else { + throw new Error('The expected "Delete" button was not found.'); + } const deletedEmployee = page.getByText('12345'); - await expect(deletedEmployee).toHaveCount(0, { timeout: 5000 }); + await expect(deletedEmployee).toHaveCount(0, { timeout: 10000 }); }); });