Gate testing API for staging E2E
This commit is contained in:
36
tests/Feature/TestingApiAccessTest.php
Normal file
36
tests/Feature/TestingApiAccessTest.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Tests\TestCase;
|
||||
|
||||
class TestingApiAccessTest extends TestCase
|
||||
{
|
||||
public function test_testing_routes_are_blocked_when_disabled(): void
|
||||
{
|
||||
config([
|
||||
'e2e.testing_enabled' => false,
|
||||
'e2e.testing_token' => 'secret-token',
|
||||
]);
|
||||
|
||||
$this->withHeader('X-Testing-Token', 'secret-token')
|
||||
->getJson('/api/_testing/mailbox')
|
||||
->assertNotFound();
|
||||
}
|
||||
|
||||
public function test_testing_routes_require_token_when_enabled(): void
|
||||
{
|
||||
config([
|
||||
'e2e.testing_enabled' => true,
|
||||
'e2e.testing_token' => 'secret-token',
|
||||
]);
|
||||
|
||||
$this->getJson('/api/_testing/mailbox')
|
||||
->assertNotFound();
|
||||
|
||||
$this->withHeader('X-Testing-Token', 'secret-token')
|
||||
->getJson('/api/_testing/mailbox')
|
||||
->assertOk()
|
||||
->assertJsonStructure(['data']);
|
||||
}
|
||||
}
|
||||
@@ -17,8 +17,8 @@ test.describe('Marketing auth flows', () => {
|
||||
await page.getByLabel(/Telefon/i).fill('+49123456789');
|
||||
await page.getByLabel(/Adresse/i).fill('Teststr. 1, 12345 Berlin');
|
||||
await page.getByLabel(/Username/i).fill(username);
|
||||
await page.getByLabel(/^Passwort$/i).fill(password);
|
||||
await page.getByLabel(/Passwort bestätigen/i).fill(password);
|
||||
await page.fill('input[name="password"]', password);
|
||||
await page.fill('input[name="password_confirmation"]', password);
|
||||
await page.locator('#privacy_consent').check();
|
||||
|
||||
await page.getByRole('button', { name: /^Registrieren$/i }).click();
|
||||
|
||||
@@ -6,8 +6,8 @@ test.describe('Marketing hero CTA smoke', () => {
|
||||
|
||||
await page.goto('/');
|
||||
|
||||
const cta = page.getByRole('link', {
|
||||
name: /Pakete entdecken|Jetzt loslegen|Discover Packages|Get started now/i,
|
||||
const cta = page.locator('#hero').getByRole('link', {
|
||||
name: /Pakete ansehen|Pakete entdecken|Discover Packages/i,
|
||||
});
|
||||
|
||||
await expect(cta).toBeVisible();
|
||||
@@ -22,12 +22,12 @@ test.describe('Marketing hero CTA smoke', () => {
|
||||
await page.goto('/packages');
|
||||
|
||||
const cta = page.getByRole('link', {
|
||||
name: /Pakete entdecken|Lieblingspaket sichern|Discover Packages|Explore top packages/i,
|
||||
name: /Pakete entdecken|Discover Packages/i,
|
||||
});
|
||||
|
||||
await expect(cta).toBeVisible();
|
||||
await cta.click();
|
||||
|
||||
await expect(page.locator('#endcustomer')).toBeVisible();
|
||||
await expect(page.locator('#packages-showcase')).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -18,7 +18,9 @@ test.describe('Marketing frontend smoke', () => {
|
||||
}
|
||||
|
||||
await expect(page.getByRole('heading', { level: 1, name: /Dein Event|Fotospiel/i })).toBeVisible();
|
||||
const heroCta = page.getByRole('link', { name: /paket|packages|starten|ausprobieren/i }).first();
|
||||
const heroCta = page.locator('#hero').getByRole('link', {
|
||||
name: /Pakete ansehen|Pakete entdecken|Discover Packages/i,
|
||||
});
|
||||
await expect(heroCta).toBeVisible();
|
||||
|
||||
await heroCta.click();
|
||||
|
||||
@@ -66,9 +66,9 @@ test.describe('Standard package checkout with Paddle completion', () => {
|
||||
await page.goto('/de/packages');
|
||||
|
||||
const standardDetailsButton = page
|
||||
.getByRole('heading', { name: /^Standard$/ })
|
||||
.locator('..')
|
||||
.getByRole('button', { name: /Details/i })
|
||||
.locator('[data-slot="card"]')
|
||||
.filter({ hasText: /Standard/i })
|
||||
.getByRole('button', { name: /Details ansehen|Details anzeigen|View details/i })
|
||||
.first();
|
||||
|
||||
await expect(standardDetailsButton).toBeVisible();
|
||||
|
||||
Reference in New Issue
Block a user