feat: add admin authenticator 2FA and configurable login email alerts
This commit is contained in:
1 parent
bee3b990f9
commit
52cc865140
21 files changed
+1961
-20
No files matched your search
@@ -48,7 +48,11 @@ test('admin creates and edits recipes with recoverable drafts and image upload',
|
||||
await page
|
||||
.getByRole('textbox', { name: 'Rezepttitel', exact: true })
|
||||
.fill('Browser-Küchenrezept verbessert');
|
||||
const saved = page.waitForResponse(
|
||||
(r) => r.url().includes('/api/recipes/') && r.request().method() === 'PUT',
|
||||
);
|
||||
await page.getByRole('button', { name: 'Rezept speichern' }).click();
|
||||
expect((await saved).status()).toBe(200);
|
||||
await expect(page.getByRole('status')).toContainText('erfolgreich gespeichert');
|
||||
await page.goto('/admin');
|
||||
await expect(
|
||||
@@ -109,6 +113,7 @@ test('JSON and XML import with a real preview, duplicate prevention and export',
|
||||
await expect(page.locator('.import-preview')).toContainText('200 g Pasta');
|
||||
await page.getByRole('button', { name: '1 Rezept(e) jetzt importieren' }).click();
|
||||
await expect(page.getByRole('heading', { name: recipe.title })).toBeVisible();
|
||||
await page.reload();
|
||||
}
|
||||
await page.getByRole('button', { name: 'Importieren', exact: true }).click();
|
||||
await page.getByLabel('Rezeptdaten').fill(exportRecipes([pasta], 'json'));
|
||||
|
||||
Reference in new issue
Block a user