Files
ppeasy_vg12/tests/Unit/Http/Middleware/SettingsGatedMiddlewareTest.php
T
2026-10-09 08:21:06 +02:00

53 lines
1.6 KiB
PHP

<?php
use App\Http\Middleware\PasswordResetEnabled;
use App\Http\Middleware\RegistrationEnabled;
use App\Http\Middleware\TwoFactorEnabled;
use Illuminate\Http\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Tests\UpdatesSettings;
uses(UpdatesSettings::class);
test('registration enabled aborts when disabled', function () {
$this->setSettings(['reg_enabled' => false]);
$this->expectException(NotFoundHttpException::class);
(new RegistrationEnabled)->handle(Request::create('/'), fn () => 'ok');
});
test('registration enabled passes when enabled', function () {
$this->setSettings(['reg_enabled' => true]);
$this->assertSame('ok', (new RegistrationEnabled)->handle(Request::create('/'), fn () => 'ok'));
});
test('password reset aborts when disabled', function () {
$this->setSettings(['forgot_password' => false]);
$this->expectException(NotFoundHttpException::class);
(new PasswordResetEnabled)->handle(Request::create('/'), fn () => 'ok');
});
test('password reset passes when enabled', function () {
$this->setSettings(['forgot_password' => true]);
$this->assertSame('ok', (new PasswordResetEnabled)->handle(Request::create('/'), fn () => 'ok'));
});
test('two factor aborts when disabled', function () {
$this->setSettings(['2fa.enabled' => false]);
$this->expectException(NotFoundHttpException::class);
(new TwoFactorEnabled)->handle(Request::create('/'), fn () => 'ok');
});
test('two factor passes when enabled', function () {
$this->setSettings(['2fa.enabled' => true]);
$this->assertSame('ok', (new TwoFactorEnabled)->handle(Request::create('/'), fn () => 'ok'));
});