Files
ladill-events/tests/Feature/LegacyQrRedirectTest.php
T
isaaccladandCursor d2ec31f7a5
Deploy Ladill Events / deploy (push) Successful in 28s
Fix post-registration 404, add speaker management, and simplify event creation.
Proxy registration transaction paths on Events, add a join button on the
confirmation page, introduce speaker roster management, and replace the QR
design wizard with merchant-style create/show flows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 13:44:53 +00:00

69 lines
2.3 KiB
PHP

<?php
namespace Tests\Feature;
use App\Http\Middleware\RedirectLegacyQrToLadillLink;
use App\Support\LadillLink;
use Illuminate\Http\Request;
use Tests\TestCase;
class LegacyQrRedirectTest extends TestCase
{
public function test_event_branding_assets_are_not_redirected_to_ladill_link(): void
{
$middleware = new RedirectLegacyQrToLadillLink;
foreach (['event-logo', 'event-cover', 'itinerary-cover'] as $suffix) {
$request = Request::create('/q/demo-event/'.$suffix, 'GET');
$request->setRouteResolver(function () use ($request) {
return new class($request)
{
public function __construct(private Request $request) {}
public function parameter(string $name): ?string
{
return $name === 'shortCode' ? 'demo-event' : null;
}
};
});
$response = $middleware->handle($request, fn () => response('ok'));
$this->assertSame(200, $response->getStatusCode());
$this->assertSame('ok', $response->getContent());
}
}
public function test_public_event_pages_still_redirect_to_ladill_link(): void
{
config(['link.public_domain' => 'ladl.link']);
$response = $this->get('/q/demo-event');
$response->assertRedirect(LadillLink::url('demo-event'));
}
public function test_registration_paths_are_not_redirected_to_ladill_link(): void
{
$middleware = new RedirectLegacyQrToLadillLink;
foreach (['register', 'register/callback', 'registered/QRE-TESTREF123456'] as $suffix) {
$request = Request::create('/q/demo-event/'.$suffix, 'GET');
$request->setRouteResolver(function () {
return new class
{
public function parameter(string $name): ?string
{
return $name === 'shortCode' ? 'demo-event' : null;
}
};
});
$response = $middleware->handle($request, fn () => response('ok'));
$this->assertSame(200, $response->getStatusCode(), $suffix);
$this->assertSame('ok', $response->getContent(), $suffix);
}
}
}