Checkout‑Registrierung validiert jetzt die E‑Mail‑Länge, und die Checkout‑Flows sind Paddle‑only: Stripe‑Endpoints/
Services/Helpers sind entfernt, API/Frontend angepasst, Tests auf Paddle umgestellt. Außerdem wurde die CSP gestrafft und Stripe‑Texte in den Abandoned‑Checkout‑Mails ersetzt.
This commit is contained in:
@@ -70,26 +70,13 @@ test.describe('Marketing Package Flow: Auswahl → Registrierung → Kauf (Free
|
||||
await page.screenshot({ path: 'wizard-reg-success.png', fullPage: true });
|
||||
});
|
||||
|
||||
test('Paid-Paket-Flow (ID=2, Pro mit Stripe-Test)', async ({ page }) => {
|
||||
test('Paid-Paket-Flow (ID=2, Pro mit Paddle)', async ({ page }) => {
|
||||
// Ähnlich wie Free, aber package_id=2
|
||||
await page.goto('http://localhost:8000/de/packages');
|
||||
await page.getByRole('button', { name: 'Details anzeigen' }).nth(1).click(); // Zweites Paket (Paid)
|
||||
// ... (Modal, Register/Login wie oben)
|
||||
await expect(page).toHaveURL(/\/buy-packages\/2/);
|
||||
|
||||
// Mock Stripe
|
||||
await page.route('https://checkout.stripe.com/**', async route => {
|
||||
await route.fulfill({ status: 200, body: '<html>Mock Stripe Success</html>' });
|
||||
});
|
||||
// Simuliere Checkout: Fill Test-Karte
|
||||
await page.fill('[name="cardNumber"]', '4242424242424242');
|
||||
await page.fill('[name="cardExpiry"]', '12/25');
|
||||
await page.fill('[name="cardCvc"]', '123');
|
||||
await page.click('[name="submit"]');
|
||||
await page.waitForURL(/\/marketing\/success/); // Nach Webhook
|
||||
await page.screenshot({ path: 'paid-step6-success.png', fullPage: true });
|
||||
|
||||
// Integration: Limits-Check wie in package-flow.test.ts
|
||||
await expect(page.locator('text=Remaining Photos')).toContainText('Unbegrenzt'); // Pro-Limit
|
||||
await expect(page.getByAltText('Paddle')).toBeVisible();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user